ขณะนี้ฉันกำลังใช้ parse เพื่อส่งและรับการแจ้งเตือนแบบพุชใน แอป Android
ทุกอย่างเรียบร้อยดีจนกระทั่งฉันเพิ่มส่วนต่อท้ายรหัสแอปพลิเคชันลงใน build.gradle ของฉันสำหรับประเภทบิลด์การแก้ไขข้อบกพร่อง:
defaultConfig {
applicationId "com.example.myapp"
...
}
buildTypes {
debug {
applicationIdSuffix ".debug"
...
}
release {
...
}
}
ตอนนี้ฉันเห็นได้ใน Parse ว่าการติดตั้งใหม่ได้รับการลงทะเบียนด้วยฟิลด์ applicationId : com.example.myapp.debug
ดังนั้นในไฟล์ Manifest ฉันใช้โค้ดต่อไปนี้:
<receiver
android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
การทำเช่นนี้ฉันคิดว่าการลงทะเบียนจะเป็นแบบไดนามิกตามประเภทบิลด์
จริงๆ แล้วมันไม่ได้ผล : การติดตั้งที่ลงทะเบียนด้วยส่วนต่อท้าย .debug
จะไม่มี GCMSenderId
หรือ DeviceToken
ดังนั้นฉันจึงไม่สามารถรับการแจ้งเตือนใดๆ ได้ เห็นได้ชัดว่าฉันขาดจุดหนึ่งไป หรือฉันไม่เข้าใจว่าการลงทะเบียนทำงานอย่างไร แต่ไม่รู้ว่าจะทำให้มันโอเคได้อย่างไร
Parse ใช้ applicationId เพื่อลงทะเบียนแอปพลิเคชัน หรือชื่อแพ็คเกจจริง (ใช้แล้ว) สำหรับร) ?
มีใครจัดการเพื่อจัดการการแจ้งเตือนแยกวิเคราะห์ด้วย buildTypes ที่แตกต่างกัน (ส่วนต่อท้าย applicationId) หรือไม่