如何使用一个信号管理每日奖金推送通知?

时间:2018-07-12 14:14:23

标签: unity3d push-notification onesignal

我们有一个基于日期的每日奖金系统。您当地时间的每个日期,您都有权获得1天的每日奖金。例如:如果您在7月12日获得每日奖金,那么您将有权在7月13日获得下一个奖金,而无需视时间而定。

我想为用户创建推送通知,但是我无法对其进行分类?

我以前的尝试:

1-每当玩家获得每日奖金时,我都会尝试在当地时间第二天晚上8点创建通知。

问题:如果玩家在第二天晚上8点之前获得奖金,则我无法删除以前创建的通知,因为Unity没有删除功能。我还尝试了crash_id来处理它,但是crash_id不会停止发送通知,只是在收到通知时用最后一个更新通知信息。

2-我创建了一个标签,该标签是收集奖金的日期,类似于“ 2018-07-12”。我尝试创建一个将这些标记与“今天的日期”进行比较的用户组

问题:没有像今天这样的事情,您必须将其作为值输入,因此您可以通过输入控制台更改日期并发送通知来做到这一点,而您每天都需要这样做。

如何创建这样的通知系统?

谢谢。 哈桑

1 个答案:

答案 0 :(得分:0)

使用OneSignal可以有两种选择。

1-如果用户已经获得奖励,则可以取消通知。

您可以使用类似的方法发出取消请求:

string url = ""https://onesignal.com/api/v1/notifications/"" + notificationId.ToString() + ""?app_id="" + s_appId;

WebRequest request = WebRequest.Create(url);
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
request.Method = ""DELETE"";
request.GetResponse();

2-如果要在自己的CRM或数据库上进行跟踪,则可以使用API​​将OneSignal PlayerID保存到数据库和目标设备。

首先,使用SDK获取玩家ID:https://documentation.onesignal.com/docs/unity-sdk#section--getpermissionsubscriptionstate-

然后,您可以将此数据发送到您的CRM或数据库:https://documentation.onesignal.com/docs/internal-database-crm 然后,您可以在创建通知REST API POST调用https://documentation.onesignal.com/reference#section-send-to-specific-devices

上使用include_player_ids

如果要使用标记选项,则应使用时间戳记,然后使用API​​和过滤器https://documentation.onesignal.com/reference#section-send-to-users-based-on-filters

定位

永远不要将OneSignal REST API密钥放在应用程序中。这需要保密。