6

'i doğru bilmediğiniz için beni affedin Android termonology. IOS arka planından geldim, bu yüzden Android dünyasında iki şeyi doğru şekilde yapmayı öğrenmeye çalışıyorum. Android Android Mesajları - Development vs Distribution

  • için

    1. Kontrol "Rozetleri"Development vs "itin Bildirimler" Distribution (üretim) üzerinden gönder.

    Neyse ki, this question aracılığıyla Status Bar Notifications kullanmak için # 1 cevabını buldum.

    Şimdi # 2 için. Zaten bir GCM kurulumuna sahibim ve bildirimleri tüm kayıtlı cihazlara gönderebilirim. Ancak, bazen tüm kullanıcıların telefonlarına ve bazen yalnızca "geliştirme" cihazlarına bildirim gönderebilmeyi istiyorum. IOS ile bu, App Store/Ad-Hoc ortamından (Distribution) ve aygıtlara kaynağa uyumlu bir bilgisayara fiziksel olarak takılan aygıtlarla (Development) ayrılan aygıtlar tarafından ayırt edilir. Android için buna benzer bir şey var mı?

  • cevap

    7

    Google Cloud Messaging'de geliştirme ve dağıtım arasında fark yoktur. Tüm mesajlar sunucunuzdan aynı GCM bitiş noktasına gönderilir. Geliştirme aygıtları ile geliştirme dışındaki aygıtları birbirinden ayırt etmek isterseniz, sunucunuzun DB'sinde (sunucunuzda depoladığınız her bir kayıt kimliği için, geliştirme aygıtı olup olmadığını belirten bir bayrak ekleyin) yönetmeniz gerekir. .

    DÜZENLEME:

    Aslında orada yapabileceğiniz başka bir şey emin değilim gerçi o kadar iyi bir fikirdir. Uygulama GCM'ye kaydolduğunda, bir sender ID (Google API project ID) sağlar. Geliştirme sürümü ve üretim sürümü için iki farklı project IDs kullanabilirsiniz. Kayıt işlemi tarafından döndürülen registration IDs, project ID'a bağlanır. Artık, sunucunuzdan bir GCM mesajı gönderdiğinizde, project ID'a bağlı bir API key kullanarak gönderin. project ID numaralı geliştirmeye bağlı API key kullanırsanız, yalnızca project ID'a bağlı olan registration IDs (yani geliştirme yapısına sahip aygıtlardan kaynaklanır) çalışır. "Üretim" registration IDs ile ileti gönderme, MismatchSenderId hatasıyla sonuçlanır (bu, APNS'ye benzer şekilde, çalışma ortamında sanal aygıt simgeleri belirsizdir ve tam tersi). Bunun iyi bir fikir olduğundan emin değilim, çünkü mantığınız için Google’dan gelen hatalara güvenmek istemiyorsunuz. İletileri yalnızca istemcilerinizin bir alt kümesine göndermek istiyorsanız, bu alt kümeyi DB'nizde yönetmelisiniz.

    İlgili konular