3

我正在尝试在我们的应用程序中实现 App Invites,但我无法让 iOS 客户端链接到 App Store。他们总是显示 Play 商店链接。

根据文档,如果我们在开发者控制台的项目中有多个 iOS 客户端 ID ,我们需要调用setOtherPlatformsTargetApplication 。问题是,如果我尝试添加我们的 iOS 应用程序客户端 ID,则永远不会发送电子邮件

.setOtherPlatformsTargetApplication(PROJECT_PLATFORM_IOS,
                    "104XXXXXXXXXX-i089XXXXXXXXXXXX.apps.googleusercontent.com")

如果我忽略此调用,则会发送电子邮件,但它指向 Play 商店。

无论如何,检查 google-services.json 只显示一个 iOS 客户端 ID

{
    "project_info": {
        ...
    },
    "client": [
        {
            "client_info": {
                "package_name": "com.mycompany"
            },
            "oauth_client": [
                ...
            ],
            "api_key": [

            ],
            "services": {
                "appinvite_service": {
                    "status": 2,
                    "other_platform_oauth_client": [
                        {
                            "client_id": "XXXXXX-YYYYY.apps.googleusercontent.com",
                            "client_type": 2,
                            "ios_info": {
                                "bundle_id": "com.mycompany.app",
                                "app_store_id": "123456789"
                            }
                        },
                        {
                            "client_id": "XXXXXX-JJJJJJJJ.apps.googleusercontent.com",
                            "client_type": 3
                        }
                    ]
                }
            }
        },
        [
            another client info for the debug package name
        ],
        "client_info": [

        ],
        "ARTIFACT_VERSION": "1"
    }

我不知道我还能尝试什么,欢迎任何想法

我正在为androidgoogle-services的 gradle 插件使用 AS 2.0 preview 9 和2.0.0-alpha9版本。此外,如文档中所述,我已将应用插件放在app/build.gradle的底部

4

1 回答 1

1

问题是我有 2 个共享相同Bundle ID的凭据。

此外,最近添加的(也是google-services.json中列出的唯一一个)没有被使用。一旦我删除它,真正的凭据就会添加到 json 文件中,并且对setOtherPlatformsTargetApplication的调用工作得很好。

于 2016-02-02T15:41:33.533 回答