[英]Appcelerator/ Titanium: Getting Android credentials to push notifications
我希望能够在Android上使用Titanium发送推送通知。 但是,每当尝试此操作时,我都会遇到一个后端错误,我认为这与无效凭据有关。 我尝试关注文档,但它们似乎已过时。
这是我所做的:
Google然后给我一个客户ID和一个客户机密。 这是文档过时的地方 。
123456789012-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com
XXXXXXXXXXXXXXXXXXXXXXXX
然后,我导航到Appcelerator仪表板中的推送通知部分,然后单击“ Android Cloud Messaging”。 注意,根据文档,我应该:
在“ GCM API密钥”字段中输入服务器密钥,在“ GCM发送者ID”字段中输入GCM发送者ID
但是,现在双方的领域都不同。 因此,我将以下内容从Google复制到了Appcelerator:
/
然后,我使用建议的CloudPush
模块将我的Andriod设备订阅了一个频道(工作正常)
但是,当要从Appcelerator仪表板发送通知时,Android设备旁边会出现“失败”字样。
突出显示“?”时的完整错误消息 图标如下:
异常类型:GCM; 错误代码:3103; 错误消息:RegistrationId为空或为空; 捕获的异常:参数不能为空
我在http://docs.appcelerator.com/arrowdb/latest/#!/guide/疑难解答中查找了此错误,它的意思是:
GCM客户端提供了一个空或空的注册ID。 如果使用的是Modules.CloudPush模块,此错误很少见。
这没有帮助。
我究竟做错了什么? 我认为我输入的凭证有误,但不确定如何。
我使用的文档如下:
谢谢!
UPDATE
经过大量建议后,我通过转到“创建凭据”>“ API密钥”创建了另一组凭据。 这给出了一个新的密钥,格式为XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
。 然后,我使用了:
123456789012
),用于Appcelerator的服务器ID 但是仍然出现完全相同的错误。
更新2
在阅读了另一个Stack Overflow答案( Appcelerator Titanium Android推送通知GCM失败? )之后,我决定将应用程序链接到Firebase。 在Friebase仪表板上,我转到“ Cog”>“项目设置”>“ Cloud Messaging”。
它显示了发件人ID(与项目编号完全相同)和不同的服务器密钥。
使用这些凭据时,发送推送通知时会出现一个略有不同的错误:
异常类型:GCM; 错误代码:3006; 错误消息:registration_id中包含的sender_id与用于向GCM服务器注册的sender_id不匹配
我终于设法使它起作用。 基本上,文档已经过时了。
我设法使其运行的方法是将应用程序链接到Firebase 。 从那里我去了“齿轮/设置”>“云消息传递 ”。
这将显示您的“发件人ID” (与您的项目编号相同)。 对我来说,这是一个12位数字。
该页面还显示了服务器密钥和旧服务器密钥 。 使用哪一个似乎无关紧要。
如果您在推送通知时仍然收到以下错误:
异常类型:GCM; 错误代码:3006; 错误消息:registration_id中包含的sender_id与用于向GCM服务器注册的sender_id不匹配
只需卸载该应用程序并重建它。
边注:
将您的应用程序链接到Firebase会在您的Google Console API凭据页面中自动创建很多API密钥,例如“ ____ key(由Google Service自动创建) ”。
“旧版服务器密钥”似乎与以下名称相匹配: 服务器密钥(由Google Service自动创建) 。
请注意,仅自己创建一个API密钥似乎无效。 它必须是与Firebase关联的API密钥。
完成此操作后,我创建了一个API密钥,而不是OAuth客户端ID。 与您拥有的屏幕相同,但是从“创建凭据”下拉列表中选择“ API密钥”。
这是我的笔记中的一个片段:
创建一个Google API项目
第一步是创建一个Google API项目并启用其GCM服务。 您还需要获取GCM发送者ID并创建Google API服务器密钥。
从此处创建/编辑项目: https : //console.developers.google.com/project
创建完毕后,点击左上方的汉堡菜单,然后将鼠标悬停在API管理器上,然后选择凭据
在“凭据”选项卡上,单击“创建凭据”,然后选择“ API密钥”
复制并将其粘贴到Arrow仪表板中
单击汉堡菜单-IAM和管理->设置复制项目编号-将其粘贴到Arrow仪表板
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.