Ücretsiz APK oluştur

Bildirimler

AppMint Push - Kullanıcılarınıza Bildirim Gönderin

Uygulamanızı kuran herkese, kendi Firebase projeniz üzerinden doğrudan AppMint'ten bildirim gönderin - zamanlama, gönderdikten sonra düzenleme, iptal, derin bağlantılar

1Nasıl Çalışır#

AppMint Push, uygulamanızı kuran herkese AppMint içinden bildirim gönderir - hemen gönder, zamanla, gönderdikten sonra düzenle, iptal et, derin bağlantılar.

Her mesaj tasarlanabilir: 8 şablon, kendi renginiz, her biri kendi sayfasını açan en fazla 3 düğme, ses ve açılır pencere seçenekleri ve uygulama açıkken yerel bir uygulama içi afiş, kart, sayfa veya tam ekran. Canlı önizleme, kullanıcıların telefonlarında tam olarak nasıl görüneceğini gösterir.

KENDİ Firebase projenizde çalışır: kullanıcılarınız, projeniz, paylaşılan sınır yok ve AppMint'te barındırılan hiçbir şeyiniz yok. Firebase Cloud Messaging ücretsizdir ve mesaj sınırı yoktur.

O projeden iki dosyaya ihtiyacınız var - google-services.json (derleme için) ve bir hizmet hesabı anahtarı (gönderim için). Sonraki adımlar ikisini de verir. Her derleme moduyla çalışır: web sitesi, ZIP, HTML ve yapay zeka.

AppMint Push ve OneSignal birbirinin alternatifidir: birini açmak diğerini kapatır.

2Bir Firebase Projesi Oluşturun#

Firebase Console'a gidin ve 'Add project' (Proje ekle) düğmesine tıklayın (veya zaten sahip olduğunuz bir projeyi açın). Ücretsiz bir Firebase projesi yeterlidir - bildirimler için faturalandırma gerekmez.

Bir proje birden fazla uygulamanızı barındırabilir.

3Uygulamanızı Ekleyin ve google-services.json Dosyasını İndirin#

Firebase projenizde:

  • 'Add app' düğmesine tıklayın ve Android'i seçin
  • Paket adını AppMint sihirbazında ayarlandığı GİBİ TAM OLARAK girin (örn. com.yourname.yourapp) - uyumsuzluk bildirimlerin hiç gelmemesi anlamına gelir ve AppMint bu yüzden derlemeyi reddeder
  • 'Register app' düğmesine tıklayın ve google-services.json dosyasını indirin
  • Kalan SDK adımlarını atlayabilirsiniz - AppMint bunları halleder

4Açın ve Dosyayı Yükleyin#

Derleme sihirbazının Push Bildirimleri kartında:

  • 'AppMint Push' seçeneğini etkinleştirin
  • 'Upload google-services.json' düğmesine dokunun ve önceki adımdaki dosyayı seçin

Sihirbaz, dosyanın paket adınızı içerdiğini kontrol eder. Ardından APK'nızı her zamanki gibi derleyin - derleme sırasında uygulamanız projenize karşı push için kaydedilir.

Kullanıcılar uygulamayı kurar ve bir kez açar. Android 13+ sürümünde, ilk ekran yüklendikten sonra bildirimlere izin vermeleri istenir.

Şablonlar, düğmeler ve uygulama içi stiller, AppMint'in bu sürümüyle veya daha yenisiyle derlenmiş bir uygulama gerektirir. Eski bir derleme yine her mesajı alır - her zamanki sade stilde gösterir.

5Hizmet Hesabı Anahtarınızı Yükleyin (Bir Kez)#

AppMint projeniz üzerinden gönderir, bu yüzden ondan bir anahtara ihtiyaç duyar - OneSignal'ın istediği dosyanın aynısı.

Firebase Console'da:

  • ⚙ Project settings → 'Service accounts' sekmesi
  • 'Generate new private key' düğmesine tıklayıp onaylayın - bir JSON dosyası iner

AppMint'te: Home > Notifications → uygulamanızı seçin → 'Upload key' → o JSON'u seçin.

AppMint, anahtarı saklamadan (şifreli) önce projenize bir test gönderimiyle doğrular; böylece yeşil bir onay işareti, bir sonraki gönderimin gerçekten çıkacağı anlamına gelir. Uygulama başına bir yükleme; Firebase projelerini değiştirmediğiniz sürece uygulamayı yeniden derlemek bunu tekrar gerektirmez.

⚠️ Buraya google-services.json değil, HİZMET HESABI anahtarını yükleyin - karıştırırsanız ekran size söyler. Erişimi daha sonra iptal etmek için anahtarı Firebase Console'da silin.

6İlk Bildirimizi Gönderin#

Home > Notifications içinde:

  • Uygulamanızı seçin
  • Bir başlık yazın (mesaj, görsel ve bağlantı isteğe bağlıdır)
  • Canlı önizleme kartını kontrol edin
  • 'Send Notification' (Bildirim Gönder) düğmesine dokunun

Uygulamanız kurulu olan her telefon bunu alır.

Görsel için Image kutusuna dokunun: 'Choose from device' (en fazla 2 MB, PNG, JPEG veya WebP) veya 'Paste an image link' (https://). Seçilen bir görsel yalnızca Gönder'e bastığınızda yüklenir - öncesinde istediğiniz kadar seçebilir, değiştirebilir veya kaldırabilirsiniz.

7Bir Şablon Seçin#

Tasarım → Şablon, bildirimin düzenini belirler. Metin her zaman önce gelir - bir resim mesajı asla örtmez:

  • Otomatik - mesajda görsel varsa Görsel kartı, yoksa Standart
  • Standart - başlık ve mesajın tamamı; bir görsel yanında küçük bir önizleme olur
  • Görsel kartı - resim, okunabilir başlığın ve mesajın ALTINDA
  • Afiş - renginizle doldurulmuş, isteğe bağlı rozetli bir kart
  • Promosyon - '%50 İNDİRİM' gibi bir rozet ve renkli bir düğme (ilk düğmeniz)
  • Liste - en fazla 6 kısa satır, örn. birkaç sipariş güncellemesi
  • Geri sayım - seçtiğiniz bir tarih ve saate doğru geriye sayan, sonra tepsiden kendiliğinden kalkan canlı bir sayaç
  • İlerleme - bir ilerleme çubuğu; yeni bir değerle düzenleyip yeniden gönderin, çubuk her telefonda yeniden titreşmeden ilerler
  • Minimal - başlık ve tek satır, ses yok, açılır pencere yok

Metin ve görsel boyutları her kullanıcının yazı tipi boyutuna uyum sağlar; böylece büyük metinli telefonlarda hiçbir şey kesilmez.

8Bir Renk Seçin#

Tasarım → Renk, bildirimin simgesini, afişini, düğmelerini ve geri sayımını renklendirir. 9 hazır renkten birini veya herhangi bir #RRGGBB için '+' seçin.

Hazır her renk hem açık hem koyu telefonlarda iyi okunur. Özel bir renk ikisine karşı da kontrol edilir: çok soluk veya çok koyuysa renklerin altındaki not bunu söyler ve özel renk kutusundaki 'Fix contrast' tonunu koruyarak onu işe yarayan en yakın tona çeker. Renkli bir düğme veya afişteki metin otomatik olarak siyah ya da beyaz yazılır.

İkisini de görmek için Canlı önizlemedeki 'Light phone' / 'Dark phone' kutucuklarını kullanın.

9Düğme Ekleyin#

Tasarım → Düğmeler: '+ Add button' (en fazla 3). Her birinin bir etiketi (en fazla 24 karakter) ve kendi bağlantısı vardır - örn. 'Siparişi izle' → #/orders/1042 ve 'Yardım' → #/support. Bir düğmenin bağlantısını boş bırakırsanız ana bağlantıyı açar.

Düğmeler tepsideki bildirimin altında ve uygulama içi sunumda görünür. Promo şablonunda ilk düğme kart üzerindeki büyük renkli düğme olur.

10Uygulama Açıkken#

Tasarım → 'While the app is open' (Uygulama açıkken), mesaj kullanıcı uygulamanızı kullanırken geldiğinde ne göreceğini belirler:

  • Uygulamanın kendi tasarımı (varsayılan) - uygulamanızın kodu gösterir (aşağıdaki Uygulama İçi Gelen Kutusu'na bakın)
  • Üst afiş - yukarıdan kayarak iner ve birkaç saniye sonra kendiliğinden gizlenir
  • Orta kart - karartılmış uygulamanın üzerinde görsel, metin ve düğmelerle bir kart
  • Alt sayfa - aynı kartın alttan yükselmesi
  • Tam ekran - altta düğmelerle birlikte büyük bir görsel

Sunum, telefonun açık veya koyu temasını izler; Geri veya dışarı dokunmak onu kapatır. Gösterildiğinde aynı mesaj bildirim tepsisine de konmaz - kullanıcı zaten ona bakıyordur.

'In-app only' (Delivery → Show as) ile, uygulama kapalıyken gelen bir mesaj, kullanıcı uygulamayı bir sonraki açışında gösterilir.

11Ses, Açılır Pencere ve Zamanlama#

Tasarım → Davranış:

  • Ses - sessiz bir bildirim için kapalı
  • Ekranda açıl - kullanıcının yaptığı işin üzerinde görünmeyi atlamak için kapalı (yine de tepsiye düşer)
  • Otomatik kapatma - bildirimi 30 saniye ile 3 gün sonra tepsiden kaldırır (Android 8 ve üzeri)

Gelişmiş seçenekler:

  • Simge / avatar görseli - metnin yanında yuvarlak bir resim (https:// bağlantısı)
  • Paket anahtarı - bunu paylaşan mesajlar tek bir başlık altında gruplanır
  • Değiştirme anahtarı - aynı anahtara sahip daha yeni bir mesaj, telefondaki ve gelen kutusundaki eskisinin YERİNE geçer, örn. canlı bir skor

Kullanıcılar ayrıca uygulamanız için Android'in bildirim ayarlarından türe göre sesi ayarlayabilir.

Kendi sesiniz: adım adım sihirbazda Integrate → Push Notifications → Notification sound (MP3, OGG, WAV, M4A, AAC, FLAC veya Opus, en fazla 1 MB ve 30 saniye). Ses Açık olarak gönderilen her mesaj için çalar. Kurulu uygulamalar onu taşıyan güncellemeyle alır; her kullanıcı yine de Android'in bildirim ayarlarından değiştirebilir.

12Test Edin, Kaydedin ve Yeniden Kullanın#

  • Canlı önizleme - kullanıcılarınızın telefonlarının çalıştırdığı aynı kodla çizilen, açık veya koyu bir telefonda Daraltılmış, Genişletilmiş ve Uygulama içi kutucuklar
  • 'Test on this phone' (Bu telefonda test et) - mesajı yalnızca SİZİN telefonunuzda, gerçek bir bildirim olarak veya Bildirimler ekranı üzerinde uygulama içi sunum olarak gösterir. Kullanıcılara hiçbir şey gönderilmez
  • Kayıtlı şablonlar (üstteki kitap simgesi) - 'Save the current message as a template' metni, bağlantıyı, görseli ve her tasarım seçimini bu telefonda tutar; 'Use' tek dokunuşla geri yükler
  • History'de 'Duplicate as a new message' (Yeni mesaj olarak çoğalt), önceki herhangi bir mesajdan yeni bir mesaj başlatır

13Daha Sonrası İçin Zamanlayın#

Delivery kartında, When altında 'Schedule' (Zamanla) düğmesine dokunun, sonra bir tarih ve saat seçin. Bildirim o anda otomatik olarak gönderilir.

Gönderilene kadar, aşağıdaki History listesinden düzenleyebilir veya iptal edebilirsiniz.

14Gönderdikten Sonra Bir Hatayı Düzeltin#

History'de herhangi bir bildirime dokunun:

  • 'Edit & resend' (Düzenle ve yeniden gönder) - mesajı tüm tasarımıyla yazma alanına geri yükler; 'Update & resend' (Güncelle ve yeniden gönder) onu her cihazda YERİNDE değiştirir
  • 'Cancel' (İptal) - henüz açılmadığı her telefondan kaldırır; ekranda hâlâ duran bir uygulama içi sunum dahil
  • 'Delete' (Sil) - iptal ile aynıdır ve geçmişinizden de temizler

⚠️ Kullanıcının zaten açtığı veya kapattığı bir bildirim geri alınamaz.

15Belirli Bir Sayfayı Açın#

İsteğe bağlı Link alanı, dokunulduğunda neyin açılacağını belirler (her düğmenin kendi bağlantısı olabilir):

  • Tam bir https:// adresi (web sitesi uygulamaları için harika)
  • #/offers gibi bir uygulama içi yol

Uygulamanızın kodu da bunu istediği zaman okuyabilir:

const link = window.WebToApk?.getLaunchUrl?.();
window.addEventListener('appmint:deep-link',
  e => goTo(e.detail.url));

16Uygulama İçi Gelen Kutusu (İsteğe Bağlı)#

Her push ayrıca kurulu uygulamanın içinde saklanır (son 50); böylece uygulamanız okunmamış rozetli kendi bildirimler ekranını gösterebilir. Bu HER derleme modunda çalışır - bu birkaç satırı kendi sitenize eklediğiniz web sitesi (URL) uygulamaları dahil.

Kabuk zaten ekranda bir mesaj gösterdiyse ('While the app is open' altındaki bir stil), olay presented: true der - o zaman ikinci bir afiş çizmeyin. Tüm afişlerini kendisi çizen bir uygulama, kabuğunkini setPushPresentation('none') ile kapatabilir.

Kapatma küçük bir ✕ değil, bir KAYDIRMADIR ve geri alınabilir - kısa bir Geri al ile eşleştirin:

const B = window.WebToApk;
const inbox = JSON.parse(B?.getPushInbox?.() ?? "[]");
// [{id,title,body,imageUrl,link,receivedAt,read,
//   template?,accent?,buttons?,badge?,inapp?...}]
const unread = inbox.filter(m => !m.read).length;

// live arrival while the app is open
window.addEventListener('appmint:push', e => {
  const d = e.detail;
  if (d.type === 'received' && !d.presented) showBanner(d.message);
  refreshInbox();   // fires for 'revoked' too
});

B?.markPushRead?.(id);        // "" = mark all read
B?.dismissPushMessage?.(id);  // swipe away
B?.restorePushMessage?.(id);  // ...Undo
B?.setPushPresentation?.('none'); // app draws its own

17Test Telefonunuza Hiçbir Şey Gelmezse#

Neredeyse her zaman uygulamanızın veya kullanıcılarınızın değil, TEST TELEFONUNUN bir sınırıdır.

Android telefon başına yaklaşık 100 push kaydına izin verir. Bildirim kullanan bir uygulamanın her YENİ kurulumu bir tane alır - bu yüzden test sırasında derleme üstüne derleme kurmak hepsini tüketebilir ve o telefon yeni kurulan uygulamalar için almayı bırakır.

Yuvaları boşaltın (gerçekten işe yarayan budur):

  • Artık ihtiyacınız olmayan test uygulamalarını silin - Android her birinin tuttuğu yuvayı serbest bırakır
  • Veya bir test uygulamasının verilerini temizleyin: Settings > Apps > [o uygulama] > Storage > Clear data - bu, kaldırmadan yuvasını serbest bırakır
  • Bir emülatörde sıfırlamak tüm yuvaları bir anda sıfırlar

Telefonu yeniden başlatmak YARDIMCI OLMAZ: bu kayıtlar kalıcı olarak saklanır, bu yüzden yeniden başlatmadan sonra da durur. Google Play Hizmetleri önbelleğini temizlemek de onları serbest bırakmaz.

Test sırasında bundan kaçının:

  • Üzerinde çalışırken TEK bir paket adı kullanın - her farklı paket adı kendi yuvasını alır
  • Önce kaldırmak yerine yeni APK'yı eskisinin ÜZERİNE kurun - güncelleme mevcut kaydı korur, yeniden kurulum yeni bir kayıt harcar
  • Yedek bir telefonda veya emülatörde test edin; bir emülatörü sıfırlamak yuvalarını anında sıfırlar
  • İşiniz biten test uygulamalarını silin

Ayrıca temelleri kontrol edin: uygulama kurulumdan sonra en az bir kez açılmış olmalı ve bildirimlere Android ayarlarından izin verilmiş olmalı. Uygulama her açılışta yeniden abone olur, bu yüzden yuvalar boşalır boşalmaz kendiliğinden toparlanır - yeniden derlemeye gerek yok.

18Sınırlar ve İyi Uygulamalar#

  • Göndereceğiniz bildirim sayısında sınır yok - Firebase Cloud Messaging ücretsizdir
  • Başlık en fazla 120 karakter, mesaj en fazla 1000; görsel ve simge bağlantıları https:// ile başlamalı
  • En fazla 3 düğme (24 karakterlik etiketler) ve en fazla 6 liste satırı
  • Ücretsiz planda her gönderimden önce kısa bir reklam oynar
  • Test uygulamaları: uygulama seçicinin yanındaki çöp kutusu simgesiyle kaldırın - bu yalnızca AppMint'teki geçmişi ve saklanan anahtarı siler; Firebase projenize dokunulmaz ve yeniden derleme uygulamayı geri ekler
  • AYNI projeden YENİ bir google-services.json ile yeniden derlemek hiçbir şeyi değiştirmez: anahtarınız kalır, mevcut kurulumlar almaya devam eder
  • ⚠️ Uygulamayı FARKLI bir Firebase projesine taşımak kesin bir kopuştur. Yeni google-services.json ile yeniden derleyin, yeni projenin anahtarını yükleyin (AppMint eskisini bırakır, çünkü yeni proje için hiçbir zaman gönderemezdi) - ve ESKİ sürümü çalıştıran telefonların, kullanıcıları güncelleyene kadar almayı bırakacağını bilin. Bildirimler bir projeye ulaşır ve o kurulumlar hâlâ eskisini dinliyor
  • Az gönderin: kullanıcılar kendilerine spam yapan uygulamaları siler

19Kimin Alacağını Seçin#

'Who gets it' altında bir mesaj Everyone'a (varsayılan) veya seçtiğiniz telefonlara gider:

  • Ülkeler, diller, Android sürümleri ve uygulama sürümleri
  • Etkinlik - son N günde uygulamayı açtı veya N gündür açmadı
  • Yalnızca bildirimleri açık olan telefonlar
  • Uygulamanızın sayfasının ayarladığı kullanıcı kimlikleri ve etiketler (sonraki adım)

Göndermeden önce ekran, seçiminizin kaç telefona ulaştığını gösterir.

Göndermenin daha fazla yolu:

  • Her telefonun yerel saati (When altında) - örn. her telefonun kendi saatine göre 09:00, saat dilimi saat dilimi
  • A/B testi - bir B sürümü yazın; her sürüm kitlenin bir test payına gider ve belirlediğiniz bekleme süresinden sonra daha çok açılan (veya dokunulan) diğer herkese gider
  • Telefon başına günlük sınır - bir telefonun bu uygulamadan bir günde aldığı en fazla mesaj; sınırı aşan mesajlar o telefon için atlanır ve 'skipped (daily limit)' olarak gösterilir

History, her mesaj için kaç telefona gittiğini, kaçının başarısız olduğunu ve kaçının atlandığını gösterir.

⚠️ Kimin alacağını seçme, yerel saat, A/B testleri, otomasyonlar ve günlük sınır yalnızca 30 Eyl 2026'dan itibaren derlenmiş bir uygulama çalıştıran telefonlara ulaşır (kendilerini kaydederler). Eski derlemelerdeki telefonlar yine 'Everyone' gönderimlerini alır - onlara bu yolla da ulaşmak için yeniden derleyin ve bir güncelleme yayınlayın.

20Oturum Açmış Kullanıcıları ve Etiketleri Hedefleyin#

Uygulamanızın sayfası AppMint Push'a kimin oturum açtığını ve bu kurulum hakkında nelerin bilinmesi gerektiğini söyler. Böylece tek bir kullanıcıya veya plan = pro gibi bir etiketi olan herkese gönderebilirsiniz.

  • setPushUser - oturum açtıktan sonra, KENDİ hesap kimliğinizle (veritabanı kimliği; asla bir e-posta adresi veya telefon numarası değil). Harfler, rakamlar ve _ @ . : + - (en fazla 128). Çıkış yaparken "" ile çağırın, yoksa telefon o kullanıcının mesajlarını almaya devam eder
  • setPushTag / setPushTags - bir etiket adı (harfler, rakamlar ve _, en fazla 32) ve bir değer (en fazla 128). "" bir etiketi kaldırır; kurulum başına en fazla 50
  • getPushUser / getPushTags - bu telefonun tuttuğunu geri okur

Kimlikler ve etiketler hesaba değil kuruluma aittir: çıkış yaparken kullanıcıya özel etiketleri de temizleyin. Telefon bir değişikliği birkaç saniye sonra bildirir (çevrimdışıysa bir sonraki açılışta). İki telefonda oturum açmış aynı kullanıcıya ikisinde de ulaşılır.

const B = window.WebToApk;

// after sign-in: your own account id
B?.setPushUser?.(user.id);
B?.setPushTag?.('plan', user.isPro ? 'pro' : 'free');
B?.setPushTags?.(JSON.stringify({ city: 'pune', level: '12' }));

// on sign-out
B?.setPushUser?.('');
B?.setPushTag?.('plan', '');

// read back
const who = B?.getPushUser?.() ?? '';
const tags = JSON.parse(B?.getPushTags?.() ?? '{}');

21Otomasyonlar#

Kendiliğinden giden mesajlar. Automations içinde '+ New' düğmesine dokunun ve birini seçin:

  • Karşılama - yeni bir kurulumdan N dakika sonra (0 dakikadan 30 güne kadar). Her telefon bunu bir kez alır
  • Geri kazanma - biri uygulamayı N gündür (1 ila 180) açmadığında. Her uzaklaşma için bir kez: geri gelip yeniden uzak kalan bir telefon bunu yine alır
  • Etiket - uygulamanızın sayfası bir etiket ayarladıktan N dakika sonra, isteğe bağlı olarak yalnızca bir değer için. Süre dolduğunda etiket hâlâ ayarlıysa gönderilir

Terk edilmiş sepet: ürünler sepete girdiğinde bir etiket ayarlayın ve ödemede kaldırın. 60 dakika gecikmeli bir 'cart' otomasyonu, yalnızca satın almadan ayrılanlara hatırlatma yapar. Aynı değeri yeniden ayarlamak saati yeniden başlatmaz; etiket kaldırıldıktan sonra yeniden ayarlamak bir kez daha gönderim yapabilir.

Otomasyonlar telefon başına günlük sınıra sayılır ve 30 Eyl 2026'dan itibaren yapılan derlemelerdeki telefonlara ulaşır.

const B = window.WebToApk;

// items added to the cart
B?.setPushTag?.('cart', 'open');

// checkout finished, or the cart emptied: no reminder
B?.setPushTag?.('cart', '');

22Bildirimleri Kapalı Kullanıcılara Ulaşın#

Bildirimleri kapalı bir telefon asla bir tepsi bildirimi göstermez - ama mesajınız yine de uygulamaya ulaşır ve kullanıcı uygulamayı bir sonraki açışında bir uygulama içi mesaj görünür. Bunu, bildirimleri yeniden açmalarını istemek için kullanın:

  • Kimler alır → Kimlerin alacağını seçin → 'Notifications off' (Bildirimler kapalı) seçeneğini açın
  • Şu şekilde göster → Yalnızca uygulama içi (Tasarım altında bir Üst afiş veya Orta kart)
  • Tasarım → Düğmeler → '+ “Bildirimleri aç” düğmesi'. Bağlantısı appmint://notifications/enable'dır: dokunuş izin istemini gösterir veya istem artık gösterilemiyorsa uygulamanın bildirim ayarlarını açar

Uygulamada bildirimleri kapalı telefonlar varsa gönderim merkezi, Firebase anahtarının altında 'Reach the N phones with notifications off' gösterir - tek dokunuş üçünü de ayarlar. Bir kullanıcı bildirimleri açar açmaz telefonu bu kitleden çıkar.

Düğme, AppMint'in bu sürümüyle veya daha yenisiyle derlenmiş bir uygulama gerektirir; eski derlemeler bağlantıyı sıradan bir bağlantı olarak ele alır. appmint://notifications/settings ayarlar ekranını doğrudan açar.

// Your page can offer the same thing itself:
const r = await window.AppMint?.enableNotifications?.();
// r = { state: 'granted' | 'prompt' | 'blocked' | 'unavailable',
//       changed, openedSettings }

// and hear a push button's result too:
window.addEventListener('appmint:notifications', e => {
  if (e.detail.state === 'granted') hideNotifBanner();
});

23Uygulama İçi Mesajlar#

Uygulama içi mesajlar, gönderim merkezinde oluşturduğunuz kampanyalardır: Push Notifications → 'In-app messages' → '+ New'. Uygulama bunları indirir ve seçtiğiniz tetikleyici gerçekleştiğinde, push olmadan kendisi gösterir:

  • Uygulama açılır - N. uygulama açılışı
  • Bir sayfa veya yol (/checkout, #/cart, /product/*)
  • Uygulamada geçen süre - uygulamada N saniye
  • Sayfanızın izlediği bir olay (sonraki adım)
  • Bir push etiketi
  • Bildirimler kapalı - bunu bir 'Bildirimleri aç' düğmesiyle eşleştirin
  • Uygulama güncellemesi - güncellemeden sonraki ilk açılış

Bir afiş, modal, sayfa veya tam ekran olarak gösterin. Her mesajın bir sıklığı (varsayılan olarak kurulum başına bir kez), isteğe bağlı bir kitlesi ve isteğe bağlı bir başlangıç ve bitiş zamanı vardır. Derlemede AppMint Push gerektirir.

24Uygulamaya Ne Olduğunu Söyleyin#

Sayfanızın payı küçüktür: önemli anları trackEvent ile bildirin. Tetikleyicisi aynı adla 'When an event happens' olan bir mesaj şimdi (veya seçtiğiniz bekleme sonrasında) gösterilir. Adlar: harfler, rakamlar ve _ . : - (en fazla 64). Olaylar hiçbir yerde sayılmaz veya saklanmaz; yalnızca bir mesajın gösterilip gösterilmeyeceğine karar verir.

Yol mesajları gerçek URL değişikliklerini (sayfa yüklemeleri, pushState, #hash yolları) kendiliğinden izler. Adresin göstermediği bir görünüm (bir sekme, bir sihirbaz adımı) appmint:route olayıyla bir yol olarak bildirilebilir.

if (window.AppMint && AppMint.trackEvent) AppMint.trackEvent('checkout_done', { total: 42 });

// raw bridge: props as a JSON string ('' for none)
WebToApk.trackEvent('level:3', '');

// a view the address does not show, reported as a route
window.dispatchEvent(new CustomEvent('appmint:route', { detail: { path: '/cart' } }));

25Mesajları Kendiniz Çizin (İsteğe Bağlı)#

Her mesaj appmint:inapp olayını { type: 'shown' | 'clicked' | 'dismissed', id, name } ile tetikler (ve tanımlarsanız window.onAppMintInApp(detail) çağırır).

Mesajları kendiniz çizmek için WebToApk.setInAppPresentation('none') çağırın: uygulama o zaman hiçbir şey çizmez ve 'shown' olayı presented: false ile mesajı (başlık, gövde, görsel, düğmeler) taşır. setInAppPresentation('auto') çizimi uygulamaya geri verir. WebToApk.getInAppCampaigns() bu kurulumun tuttuklarını listeler ([{id, name}]).

Bunların hepsi derlemede AppMint Push gerektirir; başka herhangi bir derlemede yöntemler false / "[]" yanıtı verir.

window.addEventListener('appmint:inapp', e => {
  // e.detail = { type: 'shown' | 'clicked' | 'dismissed', id, name, presented?, message? }
  if (e.detail.type === 'shown' && e.detail.presented === false) drawMyBanner(e.detail.message);
});

WebToApk.setInAppPresentation('none');   // 'auto' gives drawing back to the app
const held = JSON.parse(WebToApk.getInAppCampaigns() || '[]');   // [{id, name}]

26Bir Şablonla Başlayın#

'+ New', her biri canlı bir önizleme olan ve düzene göre arayabileceğiniz veya filtreleyebileceğiniz hazır mesajlardan oluşan bir galeri açar: Karşılama, Bizi değerlendirin, Bildirimleri aç, Yenilikler, Flaş indirim (canlı geri sayımla), Sezonluk promosyon, Yeni özellik, Güncelleme mevcut, Terk edilmiş sepet, Geri kazanma, Yıldızlı anket, NPS puanı, Arkadaşlarını davet et, Abonelik teklifi, Seri, İpucu, İzin açıklaması, Bakım (kapatılana kadar kalır), Koşullar güncellemesi (kapatma düğmesi yok) ve Bizi takip edin. Bir şablon düzeni, emojiyi veya resmi, metni, düğmeleri, tetikleyiciyi ve sıklığı doldurur - kaydetmeden önce her şeyi değiştirin. 'Blank message' boş başlar.

Yıldızlı anket, Bizi değerlendirin ve NPS bir soru sorar: 1-5 yıldızlı bir sıra veya 0-10 puan. İlk düğme bir yanıt bekler; yanıt, mesaj kapandığında bir kez appmint:inapp 'answered' olayı { value, question } olarak bildirilir ve gönderim merkezi ortalama yıldızları veya NPS puanını dağılımıyla gösterir.

Düğme bağlantıları ayrıca appmint://review (Google Play'in değerlendirme sayfası), share:text (paylaşım sayfası), copy:text (pano), route:/page ve event:name olabilir. Metinde {app}, {store}, {name}, {streak} ve {tag:key} kullanılabilir; her telefonda doldurulur; {name|friend} değer olmadığında kullanılacak bir sözcük verir. Yer tutucusunun değeri olmayan bir mesaj gösterilmez. Bu sürümle veya daha yenisiyle derlenmiş bir uygulama gerektirir.

window.addEventListener('appmint:inapp', e => {
  const d = e.detail;
  if (d.type === 'answered') {
    // d.question: 'stars' (1-5) or 'nps' (0-10); d.template e.g. 'survey_stars'
    if (d.question === 'nps' && d.value <= 6) openFeedbackForm();
  }
  if (d.type === 'clicked' && d.link === 'event:allow') askForLocation();
});

// {streak} and {tag:key} come from push tags
WebToApk.setPushTag('streak', '7');

Bu sayfa, uygulamanın içindeki Entegrasyon Rehberi'nden oluşturulur, bu yüzden mevcut derlemenin söylediğini aynen söyler. Markdown olarak okuyun.

22.10.2026 tarihinde yayınlanan rehberle karşılaştırılarak kontrol edildi.