这是我第一次使用UA,我正在尝试使用推送通知。除了我一直得到一个空的APID。我也从GCM收到INVALID_USER错误。这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab);
AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this);
UAirship.takeOff(this.getApplication(), options);
PushManager.enablePush();
String apid = PushManager.shared().getAPID();
Logger.info("My Application onCreate - App APID: " + apid);
以下是日志中的空APID:
06-30 19:38:29.118 15793-15793/us.bisonsoftware.tab I/Husky Athletics - UALib﹕ My Application onCreate - App APID: null
以下是GCM的错误:
06-30 19:38:34.258 15793-16237/us.bisonsoftware.tab E/Husky Athletics - UALib﹕ Received GCM error: INVALID_SENDER
06-30 19:38:34.258 15793-16237/us.bisonsoftware.tab E/Husky Athletics - UALib﹕ Failed to register with GCM.
06-30 19:38:34.258 15793-16237/us.bisonsoftware.tab E/Husky Athletics - UALib﹕ GCM Failure: INVALID_SENDER
06-30 19:38:34.258 15793-16237/us.bisonsoftware.tab E/Husky Athletics - UALib﹕ Your GCM sender ID is invalid. Please check your AirshipConfig.
我知道GCM的事情是检查飞艇配置,但我不完全确定GCM发件人ID是什么。如果有人能帮助我解决这些问题,我将不胜感激。如果您知道自己刚才有什么问题,请详细说明,谢谢。
答案 0 :(得分:2)
您的发件人ID与Google Cloud / API控制台中的项目ID相同。您必须在airshipconfig.properties文件中配置它:
gcmSender = Your Google API Project Number (allows multiple senders separated by commas)
developmentAppKey = Your Development App Key
developmentAppSecret = Your Development App Secret
productionAppKey = Your Production App Key
productionAppSecret = Your Production App Secret
inProduction = false
答案 1 :(得分:1)
// Testing channel ID
String channelId = UAirship.shared().getPushManager().getChannelId();
Logger.info("My Application Channel ID: " + channelId);
使用上面的代码获取AppId。
有文件说明:
Android APID已更新为最新的基础架构,现在称为Android渠道。所有ID保持不变,因此您可以在不更新数据库的情况下开始使用Channel术语。
从概念上讲,Channels是我们的Windows推送系统的类似解决方案,因为Channel是底层设备标识符的抽象。对于Windows,APID具有类似的用途。