chabokpush / chabok-demo-android

Android demo application using Chabok push service
5 stars 4 forks source link

W/com.adpdigital.push.GcmMessageHandler: Don't notify GCM when app is foreground! #10

Closed ZaraSdq closed 6 years ago

ZaraSdq commented 6 years ago

با وجود subscribe‌ کردن کانال هنوز نمیتونم پیام درون برنامه ای رو در وقت باز بودن برنامه دریافت کنم و وقتی لاگ رو میبینم این هست: W/com.adpdigital.push.GcmMessageHandler: Don't notify GCM when app is foreground! مشکل از کجاست؟

behrad commented 6 years ago

در زمانی که برنامه فورگراند هست شما پیام رو دریافت میکنید اما چابک نوتیفیکیشن رو نشون نمیده این رفتار اولیه چابک هست که در نسخه‌های اولیه تصمیم بر اون گرفته شده است اگر قصد دارید که در حالت فورگراند هم نوتیفیکیشن بیاد این رو می تونیم براتون در یک تنظیم انجام بدیم.

ZaraSdq commented 6 years ago

این تنظمات چگونه اس من باید انجام بدم یا از سمت شماست؟ و اینکه چقدر طول میکشه؟ موردی که در ایشوهای قبل گفتید که اپ به چابک وصل باشه رو هم میشه بگین به چه معنی هست؟ در حال حاضر اپ من با این که باز هست ولی در پنل انلاین نیست و به اصطلاح نوار سبز نمیخوره.

Husseinhj commented 6 years ago

در حال حاضر اپ من با این که باز هست ولی در پنل انلاین نیست و به اصطلاح نوار سبز نمیخوره.

علت اینکه دستگاه شما به چابک متصل نمیشه این هست که متد رجیستر رو یکبار صدا میزنین. توی داکیومنت درموردش توضیح داده شده : نکته: هر بار که برنامه اجرا می‌شود لازم است این متد فراخوانی شود تا اتصال چابک برقرار گردد.

متد رجیستر چابک کار اتصال به چابک رو هم انجام میده. یعنی به صورت عادی شما باید متد `register` چابک رو دوجا صدا بزنین. یکی در کلاس اپلیکیشن اندروید که همیشه فرخوانی میشه. به این صورت که اگر `userId` بود با userId یه چابک رجیستر می‌کنین اگه نبود هم تو صفحه لاگین اپلکیشن بعداز گرفتن `userId` کاربر متد رجیستر رو فراخوانی می‌کنین

همچنین عدم اتصال شما هم می‌تونه بخاطر استفاده از وی‌پی‌ان باشه. یکسری از وی‌پی‌ان‌ها یسری از پورت‌ها رو بستن که ممکنه پورت ما رو هم بسته باشن

این تنظمات چگونه اس من باید انجام بدم یا از سمت شماست؟ و اینکه چقدر طول میکشه؟

شما برای ارسال پوش‌نوتیفکیشن از گزینه تست نوتیفیکیشن استفاده می‌کنین؟

چون پیام خود چابک نوتیفیکیشن نشون میده در حالت درون‌برنامه‌ای برای همین در حالت فورگراند تصمیم گرفتیم پوش‌نوتیفیکیشن گوگل رو نمایش ندیم. برای همین وقتی مشکل اتصال شما به چابک حل بشه وقتی اپ در حالت فورگراند باشه بصورت خودکار نوتفیکیشن نمایش خواهد داد.

Husseinhj commented 6 years ago

این ایشو رو می‌بندم. در نسخه ۲.۱۲.۰ نمایش نوتیفیکیشن در فورگراند اضافه شده است.