Notifications
Purpose
This page is where you manage the notifications sent to players. Three things are needed for a notification to go out: a provider (a push notification service such as Firebase, Apple or OneSignal), a template (the message text) and a rule or a manual test send (when the message goes out). The page has six tabs: Overview, Templates, Rules, Providers, Delivery history and Devices.
When to use
- When setting up the notification infrastructure for the first time (follow the three steps in the Overview tab).
- To send an automatic notification on an event such as a level up.
- To investigate why a notification did not go out (the Delivery history and Devices tabs).
Step by step
1. Connect a provider
- In the Sağlayıcılar (Providers) tab, press Bağla (Connect) on the card of the service you use. This operation is open only to a super admin.
- Enter the information the service asks for and choose the key file. The key is write-only; after saving it is never shown again, only its fingerprint is shown.
- Write your reason and the 6-digit code from your authenticator app and press Kaydet (Save).
- The card becomes Hazır (Ready) within a few seconds; the server loads the setting. If you see an error, its reason is written on the card in plain language.
2. Write a template
- In the Şablonlar (Templates) tab press Yeni şablon (New template) (or İlk şablonu oluştur (Create the first template) if empty; Örnekle başla (Start with an example) brings a ready example).
- Write the key, display name and language; enter the title and text. For player-specific values write
{{name}}in the text and add the same name to the Değişkenler (Variables) list. - In the live preview on the right, look at the phone lock screen and the browser notification, then press Şablonu oluştur (Create template).
- To add another language, use the + Dil ekle (+ Add language) button in the template’s detail. Each save is stored as a new version; you can go back to an old version from the version history.
Note
If there is no version in the player’s language, the fallback language, the English (en) version, is used. If there is no English version either, the notification is not sent.
3. Add a rule or send a test
- Rule: In the Kurallar (Rules) tab, choose the event, conditions, template, language and channel with Yeni kural (New rule); in the Örnek olayla dene (Try with a sample event) section try the rule without sending any notification.
- Test: In the Gönderim geçmişi (Delivery history) tab press Test gönder (Send test); choose the player, template, language and channel and send. The page follows the result for 60 seconds at most. Frequent tries are limited (10 tries in 15 minutes).
Fields and options
| Field | Required | Description |
|---|---|---|
| Template key, display name, description, language | Key, name, language required | The key does not change; name at most 120, description 500 characters |
| Title, Text | Yes | Soft limit of 65 characters for the title and 240 for the text |
| Variable name, type, example value, required | When a variable is added | At most 32 variables; whole number for a number variable |
| Version note | No | At most 200 characters |
| Rule key, rule name | Yes | The key is at most 64 characters and does not change; name at most 120 |
| When, conditions | When is required | At most 20 condition rows; with no condition the rule runs every time the event happens |
| Template, language, channel | Yes | Channel: in-game, push notification or both |
| Provider information and key file | Yes | Firebase: service account JSON; Apple: Team ID, Key ID, Bundle ID, environment and .p8; OneSignal: App ID and REST API key |
| Action reason, verification code | Yes | Reason 8-500 characters; code 6 digits |
An environment can have at most 50 notification rules.
Common situations
| Situation | What to do |
|---|---|
| “Bu oyunda bildirimler kapalı” (Notifications are off in this game) | Turn on the Notifications module from Game settings › Modules. |
| The card says “Bağlı değil” (Not connected) | The provider is not connected in this environment; enter the information with Bağla. Connecting needs super admin permission. |
| “Sağlayıcı anahtarı reddetti” (The provider rejected the key) | Renew the service account file for Firebase, the .p8 key and the Team ID, Key ID, Bundle ID values for Apple, the REST API key for OneSignal. |
| “Anahtar dosyası biçimi tanınmadı” (The key file format was not recognized) | A service account JSON file is needed for Firebase and a .p8 file for Apple; a Google OAuth client file or a .p12 certificate will not do. |
| The test says “oyuncunun ulaşılabilir cihazı yok” (the player has no reachable device) | The player has not turned on notifications in the game. Choose the in-game channel or look in the Devices tab at whether the player has a device. |
| The rule cannot be saved: “Şablon arşivlenmiş” (Template archived) or “bu dilde şablon yok” (no template in this language) | Unarchive the template or add the language you chose to the template. |
| Rules coming from the server setting are running | When you add the first rule in the panel, panel rules replace them in this environment. |
| A rule or template cannot be edited | You do not have the notification management permission; the view is read-only. Ask an admin. |