Can not add Apple client ID to Firebase invites in

2019-07-25 03:14发布

问题:

When creating Firebase invite intent I try to add link to iOS app as described in documentation:

    intent = new AppInviteInvitation.IntentBuilder(context.getString(R.string.invitation_title))
            .setMessage(context.getString(R.string.invitation_message))
                .setOtherPlatformsTargetApplication(
                        AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS,
                        "1059710961")
            .build();

"1059710961" and "mobi.appintheair.wifi" both cause the same error:

AppInviteAgent: Create invitations failed due to error code: 3
AppInviteAgent: Target client ID must include non-empty and valid client ID: 1059710961. (APPINVITE_CLIENT_ID_ERROR)

What is the correct format for this parameter?

回答1:

To get this client ID you have to do the following:

  1. Register you iOS app in the Firebase Console
  2. Download GoogleServices-Info.plist for iOS app as we download google-services.json for Android
  3. Look in it and found value for the key CLIENT_ID (will be something like this 123456789012-abababababababababababababababab.apps.googleusercontent.com)
  4. Add it to builder:

    intent = new AppInviteInvitation.IntentBuilder(context.getString(R.string.invitation_title))
        ............
        .setOtherPlatformsTargetApplication(
            AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS,
            "123456789012-abababababababababababababababab.apps.googleusercontent.com")
        .build();
    


回答2:

the client_id is the one in the plist you download from the firebase console for your iOS app