سلام. میخواستم بدونم برای تغییر نوتیفیکیشن موبایل چه قسمتهایی از رو باید بررسی کنیم؟ ممنون
پاسخها:
مرتبسازی بر اساسبا سلام
لطفا منظورتون از تغییر رو بهتر مشخص کنید تا توضیح دقیقتری داده بشه. منظورتون تغییر نماست یا متن نمایشداده شده؟
نوتیفیکیشنهای موبایل منظم نیستن مثلا یه روز نوتیف میاد که یوزر پیغام خصوصی داده یا یوزر توی گروه چیزی نوشته ولی روزهای دیگه نمیاد. برای بعضی از کاربران هم هیچ وقت نمیاد. سرچ کردم هم در اینترنت هم در انجمن و ظاهرا این مشکل بعید نیست به خاطر فیلتر کردن آی پی های ایران باشه چون انگار فایربیس اعلان ها رو به یه سری سرور توزیع میکنه. حالا اگه اون سرور مثلا مال آمازون یا جایی دیگه باشه که به ایران نفرسته، اعلانی هم به برنامه موبایل کاربر داده نمیشه.
میخواستیم پوش سرورهای دیگه مثل وان سیگنال رو تست کنیم یا بررسی کنیم که آیا امکان ایجاد یک پوش سرور داخلی وجود داره یا نه.
با تشکر از توضیحاتتون.
مشکلی برای استفاده از سرویسهای داخلی مثل پوشه یا چشمک نیست. اما دقت بفرمایید که این سرویسها هم از همان سرویس فایربیس استفاده میکنند. در نتیجه نباید تاثیری بر روی رفتاری گزارششده داشته باشند.
همچنین اگر ممکن است، منبع خودتان در خصوص نحوه توزیع ارسال اعلان از سمت فایربیس و فیلترینگ IP کاربران موبایل (و نه توسعهدهنده) را برای بررسی بیشتر قرار دهید.
اینجا صحبت شده. البته من از بعضی از برنامه نویسها شنیدم.
فعلا یک مشکلی به وجود اومده که وقتی روی نسخه موبایل برنامه رو باز میکنم در حالی که لاگین هست و تازه ها رو نشون میده ولی روی سه خط افقی که کلیک میکنم منوهایی که قبلا گذاشته بودیم رو نشون نمیده و انگار که لاگین نشده! عکس پیوست رو ببینید.
هم force stop کردم هم clear cache و clear data و از اول لاگین کردم ولی فرقی نداره. ممنون میشم راهنمایی کنید.
با تشکر از توضیحاتتون. مورد اول رو به مرور بررسی خواهیم کرد.
اما در مورد مشکل اپتون: ما چنین مشکلی رو در اپهای خودمون ندیدیم و به نظر مشکلی هست که مربوط به لود اطلاعات منو رخ داده. اگر این اتفاق خیلی کم رخ میده، ممکنه که مربوط به مشکلات شبکهای باشه. اما اگر همیشه این منو برای شما دیده میشه، پیشنهاد میکنم که چند کار زیر رو بررسی کنید:
۱. آخرین نسخه افزونه «پشتیبانی از نرمافزار تلفن همراه» نصب و فعال باشد.
۲. با استفاده از debugging بخش مربوط به urlConnection در کلاس InformationReceiver را بررسی کنید. منظور مقدار استرینگ result است. یا مقدار بازگشتی اشتباه است و یا اصلا به این مقدار نمیرسد و اپ شما اروری خورده است.
خب من در پنل مدیریت متوجه شدم که بررسی به روز رسانی انجام نمیشه. در حالی که نسخه 10980 وجود داره ولی وقتی بررسی به روز رسانی رو کلیک میکنم پیغام عدم امکان اتصال به موتوشاب رو نشون میده. نسخه فعلی 10970 هست.
در نتیجه از وجود به روزرسانی برای افزونه ها بی خبرم.
سلام. در حال حاضر سرور 10980 هست و همه افزونه ها به روز هستن. برنامه موبایل رو هم clear cache and data کردم ولی همچنان وقتی روی سه خط افقی کلیک میکنم میگه باید لاگین کنید و البته اتفاقی هم نمی افته بعدش
سلام
در پست شماره ۷ ازتون خواسته بودم که یک بخش از کد موبایل رو دیباگ کنید. این کارو انجام دادید؟
بیشتر راهنمایی می کنید؟
من پکیج رو در مود release ساختم. در مود دیباگ دوباره APK بسازم؟ با logcat زمانی که برنامه را اجرا میکنم خروجی لاگ رو ببینم؟...
من در حالی که لاگ کت داشت پیغام نشون میداد توی اندروید استدیو و برنامه باز بود، روی سه خط افقی کلیک کردم و در حالی که گزینه های ثبت نام و ورود بود، روی ورد کلیک کردم، توی لاگ کت چنین چیزهایی دیدم. اینم بگم چند خط کلید پابلیک و ... رو نوشته بود که پاک کردم.
سرور https هست و من توی فایل config.json آدرس https:// نوشتم.
2019-02-04 23:53:33.680 22778-23602/? E/Conscrypt: ------------------Untrusted chain: ----------------------
2019-02-04 23:53:33.680 22778-23602/? E/Conscrypt: == Chain0 ==
Version: 3
2019-02-04 23:53:33.723 22778-23604/? I/FirebasePerformance: HTTP Method is null or invalid: null
2019-02-04 23:53:33.723 22778-23604/? I/FirebasePerformance: Unable to process an HTTP request/response due to missing or invalid values. See earlier log statements for additional information on the specific invalid/missing values.
2019-02-04 23:53:33.732 4627-6022/? I/ActivityManager: KPU : put [com.samsung.android.authfw] : 8083 K
2019-02-04 23:53:33.732 4627-6022/? I/ActivityManager: Killing 18689:com.samsung.android.authfw/1201 (adj 906): DHA:SPC_empty #17
2019-02-04 23:53:33.733 4627-6022/? I/ActivityManager: KPU : put [com.trustonic.tuiservice] : 3388 K
2019-02-04 23:53:33.733 4627-6022/? I/ActivityManager: Killing 18595:com.trustonic.tuiservice/1000 (adj 906): DHA:SPC_empty #17
2019-02-04 23:53:33.757 2367-2367/? I/ServiceManager: service 'com.samsung.android.pass.IPassService' died
2019-02-04 23:53:33.758 4627-11664/? W/ActivityManager: Scheduling restart of crashed service com.trustonic.tuiservice/.TuiService in 1000ms
2019-02-04 23:53:33.760 5556-5569/? D/ProcessObserver_FLP: onProcessDied, 18595/1000
2019-02-04 23:53:33.760 5622-7201/? D/ForegroundUtils: could not check pending caller
2019-02-04 23:53:33.774 4627-9135/? W/ActivityManager: Scheduling restart of crashed service com.samsung.android.authfw/.pass.PassService in 10984ms
2019-02-04 23:53:33.774 4627-9135/? W/ActivityManager: Scheduling restart of crashed service com.samsung.android.authfw/.asm.service.AsmService in 20984ms
2019-02-04 23:53:33.774 4627-9135/? W/ActivityManager: Scheduling restart of crashed service com.samsung.android.authfw/.client.OxygenService in 30984ms
2019-02-04 23:53:33.776 5556-5569/? D/ProcessObserver_FLP: onProcessDied, 18689/1201
2019-02-04 23:53:33.776 5622-7201/? D/ForegroundUtils: could not check pending caller
2019-02-04 23:53:33.778 4627-11664/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.782 4627-9135/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30641 / op:PendingIntent{cac5ed0: PendingIntentRecord{69431a1 com.google.android.gms broadcastIntent}}
2019-02-04 23:53:33.818 4627-9135/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.819 4627-4638/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30641 / op:PendingIntent{e13f0ef: PendingIntentRecord{69431a1 com.google.android.gms broadcastIntent}}
2019-02-04 23:53:33.820 4627-9135/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.821 4627-9135/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.828 4627-4638/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30582 / op:PendingIntent{9c097fc: PendingIntentRecord{6d0107f com.google.android.gms broadcastIntent}}
2019-02-04 23:53:33.844 4627-9135/? D/SamsungAlarmManager: setInexact Intent (T:2/F:0/AC:false) 20190205T000314 - CU:10016/CP:30582
2019-02-04 23:53:33.848 4627-9135/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.849 4627-9135/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:33.850 4627-9135/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30582 / op:PendingIntent{1d8ad0b: PendingIntentRecord{6d0107f com.google.android.gms broadcastIntent}}
2019-02-04 23:53:33.860 4627-9135/? D/SamsungAlarmManager: setInexact Intent (T:2/F:0/AC:false) 20190205T000314 - CU:10016/CP:30582
2019-02-04 23:53:34.007 4627-4638/? D/ConnectivityService: filterNetworkStateForUid() uid: 10291 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:34.079 22778-23605/? I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2019-02-04 23:53:34.103 4627-4638/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:34.109 4627-4638/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30641 / op:PendingIntent{f7d37e8: PendingIntentRecord{69431a1 com.google.android.gms broadcastIntent}}
2019-02-04 23:53:34.130 4627-11664/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:34.133 4627-11664/? D/ConnectivityService: filterNetworkStateForUid() uid: 10016 networkInfo: [type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: ".:: Naderan ::.", failover: false, available: true, roaming: false, metered: false]
2019-02-04 23:53:34.135 4627-11664/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10016 pid :30582 / op:PendingIntent{be30ee7: PendingIntentRecord{6d0107f com.google.android.gms broadcastIntent}}
2019-02-04 23:53:34.146 4627-11664/? D/SamsungAlarmManager: setInexact Intent (T:2/F:0/AC:false) 20190205T000314 - CU:10016/CP:30582
وقت بخیر
برای دیباگ کردن نیازی به ساخت apk جدید نیست. در واقع برنامه در شبیهساز اندروید اجرا میشه و میشه با قرار دادن breakpoint در جاهای مختلف کد، وقتی که در اجرا به اونجا رسیدید رو بررسی کنید.
یک آموزش کوتاه در اینجا: آموزش دیباگ اندروید
اما به نظر میرسه بخاطر همین تغییر به https هست.
نسخه جدید سورس کد رو هم قرار دادم.
میتونید اول این رو امتحان کنید و بعد به سراغ دیباگ برید.
من نسخه 48 رو کامپایل کردم. در فایل config.json هم آدرس سایت خودمون رو نوشتم ولی وقتی روی گوشی اجرا میکنم، براوزر موبایل رو باز میکنه و صفحه لاگین نسخه موبایل رو نشون میده.
وقت بخیر
احتمال میدم که بخاطر ساب دامنه بودن آدرس سایتتون باشه. مثلا sub.domain.ir.
در خط آخر فایل کانفیگ، مقدار support_subdomain رو برابر true قرار بدید.
نکته دوم هم این که آدرسی که قرار دادید دقیقا همونی باشه که در کانفیگ بخش php قرار دادید. مثلا به https دقت بشه.
با تشکر
ممنون. support_subdomain رو true کردم و این قسمت درست که دیگه صفحه وب رو نیاره.
با همین نسخه 48 و چک کردن اینکه کانفیگ php با آدرسی که در config.json دادم یکی هست (هر دو https)، تلاش کردم برنامه اندروید رو دیباگ کنم.
نسخه منتشر شده رو گذاشتم 48 طبق شکل زیر
در قسمتی که دارم دیباگ میکنم این این قسمت از کد رو وارد میشه
if (Uri.parse(Uri.decode(informationUrl)).getScheme().equals("https")) {
urlConnection = (HttpsURLConnection) url.openConnection();
...
مقدار urlConnection برابر
com.android.okhttp.internal.huc.HttpURLConnectionImpl:https://XXXXXXXXX/mobile/service/information?versionCode=48
نکته ای که هست اینه که وقتی آدرس سایت و mobile/service/information?versionCode=48 رو توی وب وارد میکنم پیغام not found میده. این مهمه؟
نکته عجیب اینه که برنامه لاگین میشه ولی منوی سه خط افقی رو نشون نمیده.
همچنین مقدار کوکی که در ادامه میگیره اینه
UsingMobileApp=android; version_code=48; MobileTokenNotification=cR7Jpo3llW4:APA91bHM5u4aobB7iid1IpS-P0f4CfZVTd3vGKHK6TJNNKSqXS3F4AcfZBEVk40433IJb0M3zzCaWpcN2EPJTNH06iPiZSB4gp--X0Ed8q3vZxEyQQ2_k6y2Gi0abfqYEFOEAqKEMC87; c265e87e8814c450cc23692e8cd3d55e=cjrb1mp2tcsd8ea4cun568tvil; base_language_id=3; iisjalali=1
در ادامه در قسمت
urlConnection.setRequestProperty("user-agent", Config.getInstance(context).getUserAgentDescription());
urlConnection.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
و در خط urlConnection.connect()به exception میخوره و مقدار information برابر null هست.
خب باید علت ارور خوردن رو مشخص کنیم.
در بخش catch (خط 187) مقدار e رو در زمان دیباگینگ بررسی کنید.
یا با لاگ گرفتن، مثلا با این کد:
catch (Exception e) {
String mm = e.getMessage();
Log.e("error",mm );
}