我们有一个基于日期的每日奖金系统。您当地时间的每个日期,您都有权获得1天的每日奖金。例如:如果您在7月12日获得每日奖金,那么您将有权在7月13日获得下一个奖金,而无需视时间而定。
我想为用户创建推送通知,但是我无法对其进行分类?
我以前的尝试:
1-每当玩家获得每日奖金时,我都会尝试在当地时间第二天晚上8点创建通知。
问题:如果玩家在第二天晚上8点之前获得奖金,则我无法删除以前创建的通知,因为Unity没有删除功能。我还尝试了crash_id来处理它,但是crash_id不会停止发送通知,只是在收到通知时用最后一个更新通知信息。
2-我创建了一个标签,该标签是收集奖金的日期,类似于“ 2018-07-12”。我尝试创建一个将这些标记与“今天的日期”进行比较的用户组
问题:没有像今天这样的事情,您必须将其作为值输入,因此您可以通过输入控制台更改日期并发送通知来做到这一点,而您每天都需要这样做。
如何创建这样的通知系统?
谢谢。 哈桑
答案 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密钥放在应用程序中。这需要保密。