Cette fonction peut être utilisée pour définir une notification locale à afficher à une date donnée à un moment donné. Le "fire_time" est la date et l'heure auxquelles la notification doit être transmise au périphérique utilisateur (vous pouvez utiliser les GameMaker Studio 2 date et d'heure de GameMaker Studio 2 pour l'obtenir), et vous pouvez lui donner un titre et un texte de message. en tant que chaîne de charge utile qui sera transmise à votre jeu lorsque les utilisateurs cliquent sur la notification.
NOTE: L'argument "title" est ignoré sur iOS et le nom du jeu est affiché à la place.
Appuyez sur la notification pour lancer le jeu sur l'appareil et déclencher un événement de notification push asynchrone avec un ds_map qui peut ensuite être analysé pour vérifier la chaîne de charge utile et effectuer toute action requise.REMARQUE: Cette fonction est limitée aux modules cibles iOS et Android. Pour Android vous devez avoir installé l' extension Google Play Services et activé les notifications push dans les options de jeu social Android.
push_local_notification(fire_time, title, message, data);
Argument La description fire_time La date / heure de déclenchement de la notification title Le titre de la notification (une chaîne) message Le texte du message de notification (une chaîne) data Le paquet de données à envoyer à votre jeu (une chaîne)
N/A
Dans cet exemple, nous enverrons une notification push locale en utilisant le code suivant:
var fireTime = date_inc_day(date_current_datetime(), 1);
var data = "daily_reward";
push_local_notification(fireTime, "Ahoy!", "Catch The Haggis Has A Present", data);Ceci mettra un temporisateur pour "pousser" une notification à l'appareil quand un jour s'est écoulé. Quand le jour est terminé, si votre jeu est en arrière-plan ou non, une notification sera montrée à l'utilisateur avec le titre et le message donnés (sur iOS, le nom du jeu est affiché et le titre est ignoré), puis un événement de notification push asynchrone sera appelé. Notez que si le jeu est au premier plan lorsque l'heure de la notification arrive, il ne sera pas affiché, mais l'événement asynchrone sera toujours déclenché. Dans l'événement lui-même, vous gérer le callback quelque chose comme ceci: Async Event de la façon suivante:
var type = ds_map_find_value(async_load, "type");
var status = ds_map_find_value(async_load, "status");
if status == 0
{
//error of some kind
var error = ds_map_find_value(async_load, "error");
show_debug_message("error=" + string(error));
}
else
{
if type == "register"
{
global.reg_id = ds_map_find_value(async_load, "reg_id");
}
else
{
var data = ds_map_find_value(async_load, "data");
if data == "daily_reward"
{
global.Gold += 1000;
}
}
}