《推送系统》

开发者可以及时的向自己的用户推送通知消息,与用户时刻互动,有效提升用户体验。本文介绍了如何使用 AnySDK 接入推送服务。

术语说明

别名(Alias)

为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。
1、每个用户只能指定一个别名。
2、同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户。
3、系统不限定一个别名只能指定一个用户。如果一个别名被指定到了多个用户,当给指定这个别名发消息时,服务器端 API 会同时给这多个用户发送消息。
举例:在一个用户要登录的游戏中,可能设置别名为 userid。游戏运营时,发现该用户 3 天没有玩游戏了,则根据 userid 调用服务器端 API 发通知到客户端提醒用户。

标签(Tag)

为安装了应用程序的用户,打上标签。其目的主要是方便开发者根据标签,来批量下发 Push 消息。
1、可为每个用户打多个标签。
2、不同应用程序、不同的用户,可以打同样的标签。
举例: game, old_page, women

获取推送插件对象

local agent = AgentManager:getInstance()
local push_plugin = agent:getPushPlugin()

设置监听

推送系统系统存在回调信息,需要设置监听,实现监听方法。

push_plugin:setActionListener(onPushResult)

开发者需要设置监听方法

local function onPushResult( plugin, code, msg )  --plugin:plugin, code: push result code,  msg push result message.
   print("on push result listener.")
   print("plugin:" .. type(plugin))
   print("push action result code:" .. code)
   print("push action result message:" .. msg)
   if code == PushActionResultCode.kPushReceiveMessage then
       --do something
   end
end

回调信息

回调信息 code msg
接受到推送消息 kPushReceiveMessage 消息信息

相关接口

开启服务

startPush();
功能说明:
开启推送服务。
举例说明:

--开启推送
push_plugin:startPush()

关闭服务

closePush();
功能说明:
关闭推送服务。
举例说明:

--关闭推送
push_plugin:closePush()

设置别名

setAlias(alias);
功能说明:
为应用设置别名。
举例说明:

--设置别名
push_plugin:setAlias("AnySDK")

删除别名

delAlias(alias);
功能说明:
删除此前设置的别名。
举例说明:

--删除别名
push_plugin:delAlias("AnySDK")

设置标签

setTags(tags);
功能说明:
为应用设置标签。
举例说明:

--设置标签
push_plugin:setTags({"big", "young", "strong"})

删除标签

delTags(tags);
功能说明:
删除此前为应用设置的标签。
举例说明:

--删除标签
push_plugin:delTags({"big", "strong"});