我想向Android设备发送推送通知。我使用的是Google云消息传递(GCM),我刚刚用初学者指南实现了它。
所以我想我会有两种类型的通知:
1)通知所有用户
2)通过Ajax向特定用户通知特定事件
所以我将GCM注册令牌存储在变量中,以RegistrationIntentService
方式创建get方法:
private String gcmToken = RegistrationIntentService.getToken();
并将该值传递给此Javascript方法:
@JavascriptInterface
public String showToken() {
return gcmToken;
}
我测试过在JavaScript中以这种方式输出变量并且它起作用了:
function init(){
var val = Android.showToken();
alert(val);
}
现在我认为这些GCM注册令牌可以过期和更改。所以首先我不希望在同一设备上一直检查此令牌。我应该在JavaScript中使用会话吗?然后我想使用Ajax-Call将每个令牌存储在我的MySQL数据库中。所以我可以向安装了我的应用的所有设备发送通知。
然后,如果发生特定事件并且用户已注册,我想将他们的GCM注册令牌存储为也分配给该特定用户。因此,我可以向特定用户发送有关特定事件的通知。
这是一种完整的方式我描述了一种良好而切实可行的方法作为我的通知系统的解决方案吗?
我是Java的新手,所以我更习惯使用JavaScript查找解决方案。也许你会给我建议在我的案例中使用更多的Java。这就是为什么如果我的方法合法,我会问这个问题以获得反馈。
此外,我是否应该自动删除我的数据库以查找几周后仍未使用的令牌,或者是否有可能返回?