chabokpush / chabok-client-android Goto Github PK
View Code? Open in Web Editor NEWChabok Push Client for Android
Home Page: https://chabokpush.com
Chabok Push Client for Android
Home Page: https://chabokpush.com
زمانی که به جای chabok-lib
از chabok-lib-geo
استفاده می کنم زمان انجام register
اپ کرش می کنه
سلام
من با اطلاعات حساب کاربری پروژه starter روی پروژه خودم connection status =CONNECTED دریافت می کنم اما با اطلاعات حساب کاربری خودم هرچه سعی می کنم connection status =DISCONNECTED است و به error زیر مواجه می شوم:
E/com.adpdigital.push.AdpPushClient: Cannot save device, Reason: Internal Server Error
org.apache.http.client.HttpResponseException: Internal Server Error
at a.f.sendResponseMessage(SourceFile:440)
at a.e.run(SourceFile:2078)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
سلام.بنده کتابخونه های ذکر شده در داکیومنت رو برای پوش به لوکیشن خاص به پروژه اضافه کردم اما با اینکه لوکیشن دستگاهم روشنه اما موقع فیلتر تو محدودم پوش ارسال نمیشه. لطفا راهنمایی کنید
Hi
I have problem with PushService
PushService process not assigned in Manifest and it runs in default process. I have another RemoteService and the second one is like the one you have. Both services run in default process and in onConnect's method of second service it wants to cast the android.os.BinderProxy to com.adpdigital.push.PushService and Application crashed.
can you check and set a LocalBinder for PushService ?
Please check the following link, which this issue is mentioned and you could find useful answers there.
stackoverflow question
با سلام،
نوتیفیکیشن هندلرشما در اندروید ۸ و بالاتر محدود شده و قابل استفاده نیست.
راه حل شما برای این مورد چیست ؟
با درود .. دوستان من این سیستم شما رو میخوام توی نرم افزارم پیاده سازی کنم .. با سیستم پوشه به راحتی و بدون دردسر انجام شد .. اما اینجا هر کاری میکنم باز یه جای دیگه اش گیر میده .. الان گیر داده به این :
Caused by: java.lang.IllegalArgumentException: Application ID should be in `app-name/number` format
برای چی آخه ؟ تمام مراحلو درست رفتن و ای دی ها هم درسته .. مشکل کجاست پس ؟
با سلام
من با استفاده از متد
private synchronized void initPushClient() {
if (chabok == null) {
chabok = AdpPushClient.init(
getApplicationContext(),
MainActivity.class,
YOUR_APP_ID,
YOUR_API_KEY,
SDK_USERNAME,
SDK_PASSWORD
);
}
}
و در کلاس mainActivity با استفاده از فرآیند ثبت کاربر
با استفاده از متد
public void sendMobileTag(final String mobile) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
chabok=chabok.get();
if(chabok.isConnected()){
String userId=mobile;
chabok.register(userId);}
} catch (Exception e) {
e.printStackTrace();
}
میخوام عملیات ثبت کاربر رو انجام بدم
اما اینجا تابع register
عمل ثبت را انجام نمیدهد و بعد از این تابع
اپ بشته میشه و پیغام
unfortunately, اسم اپ has stopped
نمایش داده میشه.
سلام، خسته نباشید.
هنگام بروزرسانی compileSdkVersion به 32 برای قرار دادن اپلیکیشن در google play خطای زیر در گوشی های اندروید 12 نمایش داده می شود.
java.lang.IllegalArgumentException: ir.x.y: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
درحالی که من تغییراتی در بخش پوش در کد ندادم ولی امروز دیدم که وقتی اپلیکیشن بسته هستش نوتیفیکیشن ارسال نمیشه
منظور شما این هست که قبلا کار میکرده ولی الان وقتی اپ بسته هست پوشنوتیفیکیشن دریافت نمیکنید؟
دقت کنید در بخش پیامها در پنل در بخش جزئیات پیام، چه خطایی (در صورت رخدادن خطا) در بخش اعلانها به شما نمایش داده میشود؟
Originally posted by @Husseinhj in https://github.com/_render_node/MDU6SXNzdWUzNTY3NDc1MDQ=/issues/unread_timeline#issuecomment-427556901
سلام وقت بخیر
نتیفیکیشن های دریافتی در نرم افزار موبایل زمانی که نرم افزار باز هست متن به صورت صحیح نمایش میدهد
اما زمانی که نرم فزار بسته باشد بجای متنی که ما ارسال کرده ایم اسم اکانت ما در پنل چابک را نمایش میدهد
برای رفع این مساله چه راه حلی وجود دارد؟
ممنون
روی دستگاه واقعی درست کار میکنه ولی روی امولاتور ارور زیر دیده میشه:
E/AndroidRuntime: FATAL EXCEPTION: Timer-0
Process: com.example.sepehr.gugu_helpers, PID: 19013
java.lang.IllegalArgumentException: Service not registered: com.android.installreferrer.api.InstallReferrerClientImpl$InstallReferrerServiceConnection@c43431c
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1044)
at android.app.ContextImpl.unbindService(ContextImpl.java:1337)
at android.content.ContextWrapper.unbindService(ContextWrapper.java:616)
at com.android.installreferrer.api.InstallReferrerClientImpl.endConnection(InstallReferrerClientImpl.java:170)
at com.adpdigital.push.ai.a(SourceFile:61)
at com.adpdigital.push.ai.onInstallReferrerSetupFinished(SourceFile:131)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:162)
at com.adpdigital.push.ai.startConnection(SourceFile:53)
at com.adpdigital.push.aj.run(SourceFile:36)
at java.util.Timer$TimerImpl.run(Timer.java:284)
Originally posted by @sepehr13494 in #26 (comment)
وقتی اپلیکیشن ران نیست دیتا نوتیفیکیشن رو از کجا بخونیم؟
سلام
چطور
Sound
به برنامه اضافه کنم؟
سلام ... ارتباط ما با چابک برقرار است اما پوش دریافت نمی شود... اگر امکانش هست یک آدرس ایمیل لطف کنید به ما بدید که سورس اپ را برایتان جهت رفع مشکل بفرستیم ...ممنون
با سلام
میخواستم بدونم چطور میتونم صدای نوتیفیکیشن رو تغییر بدم؟
و اینکه چطور میتونم به نوتیفیکیشنها ویبره اضافه کنم؟
E6633 Xperia Z5 dual E6633 Sony
توی کلاس اپلیکیشن چابک رو مقداردهی اولیه کردم(اسم اکتیویتی که بعد از کلیک روی نوتیفیکیشن باز بشه و اپ آیدی و ای پی آی کی و یوزرنیم و پسورد) رو ست کردم
همچنین رجیستر هم در کلاس اپلیکیشن انجام دادم
در پوش اکتیویتی(قرار هست بعد از کلیک روی نوتیفیکیشن این اکتیویتی باز بشه) دستور:
private AdpPushClient client; client = AdpPushClient.get(); client.addListener(this);
و
public void onEvent(PushMessage message){ Toast.makeText(this,message.getAlertText(),Toast.LENGTH_LONG).show(); }
و
@Override public void onTerminate() { if (chabok != null) chabok.dismiss(); super.onTerminate(); }
قرار دادم
البته گفتم شاید مشکل از این آخرین دستور باشه، حذفش کردم اما مشکل حل نشد
ممنون میشم راهنمایی بفرمایید مشکل کجاست
پوش نوتیفیکیشن ارسالی تا زمانی که برنامه بسته است نمایش داده نمیشود و به محض باز شدن اپ تمام نوتیفیکیشنها نمایش داده میشوند.
چطور در این حالت نوتیفیکیشن را نشان دهم؟
با تشکر
I want to know how notification click should be handled?
برنامه هنگامی که بسته است و کاربر آن را باز میکند ابتدای مقدار دهی چابک یک چنین خطایی میدهد و علیرغم کلیه ی ترای-کچ ها باعث بسته شدن برنامه میشود :
Fatal Exception: java.lang.RuntimeException: Unable to create service
com.adpdigital.push.PushService: java.lang.IllegalStateException:
AdpPushClient not initialized yet, please first call AdpPushClient.get with parameters
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3173)
at android.app.ActivityThread.access$1900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1513)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
با اضافه کردن implementation مربوط به چابک خطای زیر دریافت می شود
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.adpdigital.push:chabok-lib:2.17.1.
لازم به ذکر است که از اخرین نسخه gradle و اندروید استادیو استفاده می کنم
gradle: 3.4.2
android studio 3.4.2
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
Bundle messageData = intent.getExtras();
String channel = messageData.getString(AdpPushClient.PUSH_MSG_RECEIVED_TOPIC);
String body = messageData.getString(AdpPushClient.PUSH_MSG_RECEIVED_MSG);
PushMessage push = PushMessage.fromJson(body, channel);
handleNewMessage(push);
completeWakefulIntent(intent);
}
وارد این بخش نمیشه اما نوتیفیکیشن میاد رو گوشی
متناسفانه اس دی کی چابک با اندروید ۹ کار نمیکند و به نظر سازگار نیست و خطای زیر را در لاگ کت نمایش میدهد
2018-12-16 13:50:21.116 5157-5157/fsi.com.a30anat E/AndroidRuntime: FATAL EXCEPTION: main
Process: fsi.com.a30anat, PID: 5157
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistry;
at a.a.<init>(SourceFile:1182)
at a.a.<init>(SourceFile:119)
at e.c$c.<init>(SourceFile:348)
at e.c.connect(SourceFile:92)
at e.a.<init>(SourceFile:163)
at e.c.<init>(SourceFile:57)
at b.i.<init>(SourceFile:24)
at com.adpdigital.push.AdpPushClient.initializeAdapter(SourceFile:332)
at com.adpdigital.push.AdpPushClient.<init>(SourceFile:266)
at com.adpdigital.push.AdpPushClient.init(SourceFile:279)
at fsi.com.a30anat.SianatApp.initPushClient(SianatApp.java:82)
at fsi.com.a30anat.SianatApp.onCreate(SianatApp.java:52)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.conn.scheme.SchemeRegistry" on path: DexPathList[[zip file "/data/app/fsi.com.a30anat-cuunX8wPJcrLB05PiQsVEw==/base.apk"],nativeLibraryDirectories=[/data/app/fsi.com.a30anat-cuunX8wPJcrLB05PiQsVEw==/lib/x86_64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at a.a.<init>(SourceFile:1182)
at a.a.<init>(SourceFile:119)
at e.c$c.<init>(SourceFile:348)
at e.c.connect(SourceFile:92)
at e.a.<init>(SourceFile:163)
at e.c.<init>(SourceFile:57)
at b.i.<init>(SourceFile:24)
at com.adpdigital.push.AdpPushClient.initializeAdapter(SourceFile:332)
at com.adpdigital.push.AdpPushClient.<init>(SourceFile:266)
at com.adpdigital.push.AdpPushClient.init(SourceFile:279)
at fsi.com.a30anat.SianatApp.initPushClient(SianatApp.java:82)
at fsi.com.a30anat.SianatApp.onCreate(SianatApp.java:52)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
AGPBI: {"kind":"error","text":"Expected char \u0027-\u0027 at /Users/taheri/.gradle/caches/transforms-1/files-1.1/jetified-chabok-lib-geo-2.14.1.aar/e97069fff846fa5ff5b26b083d0f2e62/proguard.txt:7:7\n-dump class_files.txt\n ^","sources":[{"file":"/Users/taheri/.gradle/caches/transforms-1/files-1.1/jetified-chabok-lib-geo-2.14.1.aar/e97069fff846fa5ff5b26b083d0f2e62/proguard.txt","position":{"startLine":7,"startColumn":7,"startOffset":151}}],"tool":"D8"}
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithR8ForRelease'.
> com.android.tools.r8.CompilationFailedException: Compilation failed to complete
من این ارور رو دریافت میکنم
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.gugulingo.gugu, PID: 32229
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/adpdigital/push/ai;
at com.adpdigital.push.AdpPushClient.getApplicationInstallReferrer(SourceFile:2346)
at com.adpdigital.push.AdpPushClient._register(SourceFile:830)
at com.adpdigital.push.AdpPushClient.register(SourceFile:740)
at com.adpdigital.push.AdpPushClient.register(SourceFile:727)
at com.gugulingo.gugu.MainActivity.onCreate(MainActivity.java:75)
at android.app.Activity.performCreate(Activity.java:6709)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:208)
at android.app.ActivityThread.main(ActivityThread.java:6267)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: java.lang.ClassNotFoundException: com.adpdigital.push.ai
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.adpdigital.push.AdpPushClient.getApplicationInstallReferrer(SourceFile:2346)
at com.adpdigital.push.AdpPushClient._register(SourceFile:830)
at com.adpdigital.push.AdpPushClient.register(SourceFile:740)
at com.adpdigital.push.AdpPushClient.register(SourceFile:727)
at com.gugulingo.gugu.MainActivity.onCreate(MainActivity.java:75)
at android.app.Activity.performCreate(Activity.java:6709)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:208)
at android.app.ActivityThread.main(ActivityThread.java:6267)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/android/installreferrer/api/InstallReferrerStateListener;
at com.adpdigital.push.AdpPushClient.getApplicationInstallReferrer(SourceFile:2346)
at com.adpdigital.push.AdpPushClient._register(SourceFile:830)
at com.adpdigital.push.AdpPushClient.register(SourceFile:740)
at com.adpdigital.push.AdpPushClient.register(SourceFile:727)
at com.gugulingo.gugu.MainActivity.onCreate(MainActivity.java:75)
at android.app.Activity.performCreate(Activity.java:6709)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:208)
at android.app.ActivityThread.main(ActivityThread.java:6267)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.installreferrer.api.InstallReferrerStateListener" on path: DexPathList[[zip file "/data/app/com.gugulingo.gugu-1/base.apk"],nativeLibraryDirectories=[/data/app/com.gugulingo.gugu-1/lib/arm64, /data/app/com.gugulingo.gugu-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
private void sendData(MessageForHelper message) {
PushMessage myPushMessage = new PushMessage();
myPushMessage.setBody("پیام از طرف مدد کار");
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("title", message.getTitle());
jsonObject.put("description", message.getDescription());
jsonObject.put("date", message.getDate());
jsonObject.put("helper", preferences.getString("helper_name",null));
jsonObject.put("user_id", preferences.getString("user_id",null));
} catch (JSONException e) {
e.printStackTrace();
}
myPushMessage.setData(jsonObject);
myPushMessage.setId(UUID.randomUUID().toString());
myPushMessage.setUseAsAlert(true);
myPushMessage.setUser("user_"+preferences.getString("user_id",null));
chabok = ((MyApplication)getApplication()).getPushClient();
chabok.publish(myPushMessage, new com.adpdigital.push.Callback() {
@Override
public void onSuccess(Object o) {
//Add some codes to show publish was successfully done
Toast.makeText(SendMessageActivity.this, "پیام با موفقیت ارسال شد.", Toast.LENGTH_SHORT).show();
Log.d(TAG, "onSuccess: "+o.toString());
}
@Override
public void onFailure(Throwable throwable) {
//Add some codes for showing an error happened
Toast.makeText(SendMessageActivity.this, "متاسفانه پیام ارسال نشد لطفا گزارش دهید.", Toast.LENGTH_SHORT).show();
Log.d(TAG, "onFailure: "+throwable.getMessage());
}
});
}
dependencies:
implementation 'me.leolin:ShortcutBadger:1.1.18@aar'
implementation 'com.adpdigital.push:chabok-lib:2.12.1'
implementation 'com.adpdigital.push:chabok-lib-geo:2.12.1'
Exseption:
com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'com/adpdigital/push/PushService.properties'
at com.android.builder.merge.StreamMergeAlgorithms.lambda$acceptOnlyOne$2(StreamMergeAlgorithms.java:75)
at com.android.builder.merge.StreamMergeAlgorithms.lambda$select$3(StreamMergeAlgorithms.java:100)
at com.android.builder.merge.IncrementalFileMergerOutputs$1.create(IncrementalFileMergerOutputs.java:86)
at com.android.builder.merge.DelegateIncrementalFileMergerOutput.create(DelegateIncrementalFileMergerOutput.java:61)
at com.android.build.gradle.internal.transforms.MergeJavaResourcesTransform$1.create(MergeJavaResourcesTransform.java:379)
at com.android.builder.merge.IncrementalFileMerger.updateChangedFile(IncrementalFileMerger.java:221)
at com.android.builder.merge.IncrementalFileMerger.mergeChangedInputs(IncrementalFileMerger.java:190)
at com.android.builder.merge.IncrementalFileMerger.merge(IncrementalFileMerger.java:77)
at com.android.build.gradle.internal.transforms.MergeJavaResourcesTransform.transform(MergeJavaResourcesTransform.java:411)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more
با سلام
به منظور نمایش badge
بر روی ایکون برنامه مجوزهای ذیل می بایست به برنامه داده شود.
me.everything.badger.permission.BADGE_COUNT_WRITE
me.everything.badger.permission.BADGE_COUNT_READ
com.oppo.launcher.permission.WRITE_SETTINGS
com.oppo.launcher.permission.READ_SETTINGS
android.permission.READ_APP_BADGE
com.huawei.android.launcher.permission.WRITE_SETTINGS
com.huawei.android.launcher.permission.READ_SETTINGS
com.huawei.android.launcher.permission.CHANGE_BADGE
com.majeur.launcher.permission.UPDATE_BADGE
com.anddoes.launcher.permission.UPDATE_COUNT
com.sonymobile.home.permission.PROVIDER_INSERT_BADGE
com.sonyericsson.home.permission.BROADCAST_BADGE
com.htc.launcher.permission.UPDATE_SHORTCUT
com.sec.android.provider.badge.permission.WRITE
com.sec.android.provider.badge.permission.READ
لذا در برخی موارد که هدف توسعه دهندگان جلب اعتماد کاربر و گرفتن حداقل مجوزها از وی می باشد، مواجهه با این حجم زیاد از مجوز برای عملکرد نه چندان ضروری نمایش badge counter چندان مناسب به نظر نمی رسد. لذا فراهم کردن امکان نمایش اختیاری BADGE COUNTER از طریق SDK و حذف این مجوزها می تواند در کاهش حجم بی اعتمادی کاربر، روش مناسبی باشد.
When I restart my phone Notification not shown until my application first run !
با سلام
من نیاز دارم زمانی که یک تغییری در سمت دیتابیس اتفاق میفتد ، یک نوتیفیکیشن برای کاربران ارسال شود
اما چگونه باید یک فایل
php
را به پنل ارسال چابک متصل کنم
و فرمت آن و
api
که در آن باید رعایت شود ، چگونه است
متشکرم
در مانیفست برنامه (جی-سی-ام رسیور) را اضافه کرده ایم و تنظیمات پنل چابک را نیز در مورد (جی-سس-ام) انجام داده ایم.
همچنین نمونه کدی که در صفحه
https://doc.chabokpush.com/android/notification-handling.html
قرار داده بودید را برای نمایش نوتیفیکیشن در حالت بسته بودن برنامه تغییر و پیاده سازی کردیم اما همچنان پیامی در زمان بسته بودن برنامه نمی رسد. در پنل چابک هم در حالت نرسیده قرار میگیرد تا زمانی که اپلیکیشن باز شود و پیام ها با همدیگر میرسند.
توضیح اینکه این مشکل در کلاینت آی او اس وجود ندارد.
سلام
وقت بخیر
ما در سیستمهای نوتیفیکیشن پیشین گذشته که کار میکردیم ۲ تا کلاس مجزا به نامهای
notificationReciver
notificationOpenHandler
داشتیم
ما در پروژمون انواع متفاوت پوش با محتوای متفاوت و با اکشن های متفاوت داریم
وقتی پوش میاد
ما محتوای پوش رو انتقال میریم به کلاسی به نام
datamanager
تا این کلاس ببینه این پوش از چه نوعی با چه محتوایی و چه اکشنی است تا کار درست رو انجام بده
دقت کنید وقتی کاربر چه بیرون اپ باشه و چه توی اپ باشه براش نوتیف بیاد و روی نوتیف کلیک کنه هیچ اکتیویتی نباید باز بشه بلکه باید اطلاعات نوتیفیکیشن باید به
datamanager
پاس داده بشه و این کلاس تصمیم بگیره چه اکتیویتی رو نمایش بده
در گذشته ما این رو با
notificationOpenHandler
هندل میکردیم
اما توی چابک نمیدونم باید چیکار کنم
ممنون میشم راهنمایی کنید
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.