《推送系统》

推送系统

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

术语说明

别名(Alias)

为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。

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

标签(Tag)

为安装了应用程序的用户,打上标签。其目的主要是方便开发者根据标签,来批量下发 Push 消息。

  1. 可为每个用户打多个标签。
  2. 不同应用程序、不同的用户,可以打同样的标签。
    举例: game, old_page, women。

设置监听

设置

推送系统存在回调信息,需要设置监听类以及监听方法。 void setListener(MonoBehaviour gameObject,string functionName)

AnySDKPush.getInstance () .setListener (this,"PushExternalCall");

开发者需要设置监听方法

void PushExternalCall(string msg)
{
    Debug.Log("PushExternalCall("+ msg+")");
    Dictionary<string,string> dic = AnySDKUtil.stringToDictionary (msg);
    int code = Convert.ToInt32(dic["code"]);
    string result = dic["msg"];
    switch(code)
    {
    case (int)PushActionResultCode.kPushReceiveMessage://Push 接受到消息回调
        break;
    default:
        break;
    }
}

注:回调过来的参数为一个字符串,其中包括(code 回调状态)、msg(回调信息)需要调用 AnySDKUtil.stringToDictionary (msg);获取key 和 value

回调信息

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

相关接口

开启服务

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

//开启推送
AnySDKPush.getInstance().startPush();

关闭服务

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

//关闭推送
AnySDKPush.getInstance().closePush();

设置别名

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

//设置别名
AnySDKPush.getInstance().setAlias("AnySDK");

删除别名

void delAlias(string alias);
功能说明:
删除此前设置的别名

举例说明

//删除别名
AnySDKPush.getInstance().delAlias("AnySDK");

设置标签

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

//设置标签
List<string> tags = new List<string>();
tags.Add("easy");
tags.Add("fast");
AnySDKPush.getInstance().setTags(tags);

删除标签

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

//删除标签
List<string> tags = new List<string>();
tags.Add("easy");
tags.Add("fast");
AnySDKPush.getInstance().delTags(tags);