我创建了两个用于测试GCM的Android应用程序,在测试它们后,我发现GCM服务器通过注册令牌识别应用程序(从InstanceID.getToken(senderId, scope, bundle))
获取,项目信息(我修改了project_number
,{{ client_id
中的1}}和package_name
)不会影响设备接收推送消息。
guidance还告诉我们将您刚刚下载的google_service.json
文件复制到Android Studio项目的google-services.json
或app/
目录中。但是当我把它放在库根目录中时,gcm演示也能正常工作。
那么这个文件的功能是什么呢?它在gcm中的作用是什么?
答案 0 :(得分:2)
如前所述https://developers.google.com/cloud-messaging/android/client,
Gradle的Google服务插件解析google-services.json文件中的配置信息。通过更新顶级build.gradle和应用级build.gradle文件,将插件添加到项目中,如下所示:
将依赖项添加到项目的顶级build.gradle:
NotAvalaible
将插件添加到您的应用级build.gradle:
classpath 'com.google.gms:google-services:1.3.0-beta1'
它会填充您在以下两行代码中使用的apply plugin: 'com.google.gms.google-services'
值来获取令牌。
R.string.gcm_defaultSenderId