Open ahamidian opened 5 years ago
روی چه پلتفرمی؟ اندروید یا iOS
اندروید
chabokEmitter.addListener(
'ChabokMessageReceived',
(msg) => {
Toast.show("new notification");
}
);
وقتی برنامه بازه یا تو بکگرانده تست نمایش داده میشه و در غیر این صورت نه...
وقتی برنامه بازه یا تو بکگرانده تست نمایش داده میشه و در غیر این صورت نه...
آیا شما تنظیمات پوشنوتیفیکیشن اندروید رو انجام دادین؟
بنظر میرسه با توجه به مواردی که گفتید، شما پوشنوتیفیکیشن دریافت نمیکنید و فقط پیام چابک رو دریافت میکنید زمانی که اپلیکیشن باز هست یا در بکگراند هست.
پیامی که شما دریافت میکنید به هنگامی که اپ در بکگراند است یا فورگراند، پیام چابک هست. برای زمانی که اپ کیل هست باید تنظیمات پوشنوتیفیکیشن در پنل را بدرستی انجام بدید تا وقتی اپ کیل هست چابک اقدام به ارسال پوشنوتیفیکیشن کنه.
همچنین دقت کنید که بخش تنظیمات androidManifest پروژه اندروید رو حتما انجام داده باشید
آره این طور به نظر میاد که نوتیفیکیشن ها اصلا نمیرسه من تنظیمات رو به صورت کامل انجام دادم ... مشکل از کجا میتونه باشه؟
تو پنل توی نوتیف هایی که میزنم این پبام نمایش داده میشه: این پیام هنوز تحویل داده نشده است.
دستگاهی که روش تست میکنین مدلش چی هست؟ بخش عیبیابی مستندات ما رو حتما مطالعه کنید
احتمالا دستگاه شما جز دستگاههایی هست که در شرایط خاص امکان دریافت نوتیفیکیشن را نمیدهد.
هم روی نوکیا با اندروید۸ هم روی سامسونگ با اندروید ۷ تست کردم اون مسایل توی عیب یابی هم تست کردم ولی مشکلی نداشت... اون اپلیکیشن تست باید کار کنه دیگه؟
اپلیکیشن starter منظورتون هست؟
اون چون ممکنه برنامه نویسها تغییر بدن تنظیمات پنل رو حتما با اکانت خودتون تست کنین و اینکه senderId خودتون رو توی کد تغییر بدید
من لاگهای اکانت شما رو چک کردم نوتیفیکیشن برای شما با موفقیت ارسال میشه آیا قطعه کد زیر رو توی manifest قرار دادید؟
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:enabled="true"
android:exported="true"
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="YOUR_APPLICATION_PACKAGE_ID"/>
</intent-filter>
</receiver>
اگر امکانش هست فایل manifest خودتون رو با رعایت کردن مسائل امنیتی خودتان اینجا قرار دهید
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.chabokstarterrnbridge">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<permission
android:name="com.chabokstarterrnbridge.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.chabokstarterrnbridge.permission.C2D_MESSAGE"/>
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:enabled="true"
android:exported="true"
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="com.chabokstarterrnbridge"/>
</intent-filter>
</receiver>
</application>
</manifest>
چون من تست کردم و لاگ پنل رو و پیامها ارسال شده و گوگل هم میگه به دست شما رسیده. اگر توی پنل در بخش پیامها تصویر
رو دید که دو تا تیک خورده ینی پیام به دستگاه رسیده
برای اینکه مطمئن بشیم logcat رو باز کنین و روی no filterقرار بدید. اپ رو کیل کنین و یک پیام برای دستگاه خودتون ارسال کنین، بعد از چند ثانیه توی logcat سرچ کنین ببینین پیام شما توی logcat هست؟
نشون میده که نوتیفیکیشن ارسال شده و به دستگاه هم تحویل داده شده.
اگر شما اپلیکیشن رو هم باز کنید اون حلقههای زرد رنگ هم باید به تیک سبز تبدیل بشه، حلقه زرد به معنی پیام در صف هست که وقتی اپ باز بشه پیام چابک رو دریافت میکنه
ولی هیچ نوتیفیکیشنی نمیاد
من روی اندروید ۸ دستگاه سونی اکسپریا XZ permium تست کردم و پوش نوتیفیکیشن اومده
روی Virtual Device اندروید 8 هم تست کردم پوش نوتیفکیشن دریافت شد و مشکل رو نسخه سیستمعامل و دستگاه نیست
شما logcat اندروید استدیو رو بررسی کردید؟
من یه تصویر از logcat برای شما قرار دادم :
چون گزارش تحویل گوگل میگه پیام شما به دستگاه تحویل داده شده، عدم نمایش نوتیفیکیشن دو حالت ممکنه داشته باشی که یه بخش مربوط به سیستمعامل هست که در بخش عیبیابی بیان شده و مطمئن بشید همه چیز درست هست در سیستم عامل شما. و مورد بعدی قرار ندادن GcmReciever
در فایل مانیفست که بر اساس فایلی که در کامنتهای قبلی قرار دادید این مورد اضافه شده و مشکلی نیست در این بخش
@ahamidian آیا مشکل شما حل شده است؟
سلام وقتی که کاربر از برنامه خارج شده و اونو از بکگراند هم خارج کرده دیگه
chabokEmitter
ی که برایChabokMessageReceived
ست کردم کار نمیکنه چی کار باید انجام بدم تا وقتی کاربر بیرون از برنامه هم هست کار کنه؟