onesignal pushe.co s-3.664-0.699-5.062-2.099c-1.397-1.398-2.097-3.087-2.097-5.065s0.699-3.667,2.097-5.065c1.397-1.399,3.085-2.099,5.062-2.099 s3.664,0.699,5.062,2.099C223.888,120.556,224.587,122.244,224.587,124.223z"/>

برای مهاجرت از وان سیگنال به پوشه کلیک کنید.

Eclipse

بیش از ۲ سال است که اندروید دیگر از اکلیپس پشتیبانی نمی‌کند و این پیشنهاد می‌شود که برای توسعه نرم‌افزارهای خود از محیط اندروید استدیو استفاده نمایید. در هر صورت اگر به دلیل خاصی اصرار بر استفاده از اکلیپس دارید، ابتدا موارد زیر را انجام داده و سپس از آموزش موجود در اندروید استدیو کار را ادامه دهید.

راه‌اندازی

اضافه کردن کتابخانه‌ها

  • فایل های کتابخانه ی پوشه و کتابخانه ی گوگل پلی سرویس را دانلود کرده و بر روی File > Import کلیک کنید، Android > Existing Android Code into Workspace را انتخاب کنید و به محل فولدر اکسترکت شده بالا بروید و فولدر Pushe را انتخاب کنید. تیک Copy projects into workspace را بزنید. و کتابخانه پوشه را به پروژه اضافه کنید. پوشه را در Dependency های پروژه خود اضافه کنید. بر روی پروژه خود کلیک راست کنید و به شاخه Properties -> Android -> Library بروید و با فشردن کلید Add کتابخانه Pushe را انتخاب کنید و همین گام ها را برای ‍google-play-services-base و google-play-services-basement نیز طی کنید.

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

تغییرات AndroidManifest.xml

  • وارد پنل کاربری پوشه شوید و در قسمت اپلیکیشن‌ها، روی آیکون دریافت منیفست بزنید (این آیکون را با کلیک بر روی علامت سه نقطه ی گوشه ی کارت اپلیکیشن می توانید ببینید).
  • منیفست مربوط به اکلیپس را انتخاب کنید و محتویات آن را با توجه به راهنمای موجود، از قسمت‌های مربوطه کپی کرده و به AndroidManifest.xml پروژه خود اضافه کنید.

پروگارد

در صوتی که قصد دارید پروگارد را فعال کنید کد زیر را در فایل پروگارد خود اضافه کنید.


#pushe.co proguard
-keepattributes Exceptions

-keep public class co.ronash.pushe.Pushe {
    public static void initialize(android.content.Context, boolean);
    public static void subscribe(android.content.Context, java.lang.String);
    public static void unsubscribe(android.content.Context, java.lang.String);
    public static void setNotificationOff(android.content.Context);
    public static void setNotificationOn(android.content.Context);
    public static boolean isPusheInitialized(android.content.Context);
    public static java.lang.String getPusheId(android.content.Context);
    public static void sendCustomJsonToUser(android.content.Context, java.lang.String, java.lang.String);
    public static void sendSimpleNotifToUser(android.content.Context, java.lang.String, java.lang.String, java.lang.String);
    public static void sendAdvancedNotifToUser(android.content.Context, java.lang.String, java.lang.String);
    public static void createNotificationChannel(android.content.Context, java.lang.String, java.lang.String, java.lang.String, int, boolean, boolean, boolean, int, long[]);
    public static void removeNotificationChannel(android.content.Context, java.lang.String);
}

-keep public class co.ronash.pushe.PusheListenerService {
    public void onMessageReceived(org.json.JSONObject, org.json.JSONObject);
}

-keep public class co.ronash.pushe.receiver.UpdateReceiver
-keep public class co.ronash.pushe.receiver.PusheGcmReceiver


# google gms proguard
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**

# google paly services proguard
-keep class * extends java.util.ListResourceBundle {
    protected java.lang.Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;}

-keep public class co.ronash.pushe.internal.log.handlers.SentryHandler { *; }
-keep class org.json.** { *; }
-keep interface org.json.** { *; }

-keep class **.R
-keep class **.R$* {
    <fields>;
}

#evernote Job scheduler
-dontwarn com.evernote.android.job.gcm.**
-dontwarn com.evernote.android.job.util.GcmAvailableHelper

-keep public class com.evernote.android.job.v21.PlatformJobService
-keep public class com.evernote.android.job.v14.PlatformAlarmService
-keep public class com.evernote.android.job.v14.PlatformAlarmReceiver
-keep public class com.evernote.android.job.JobBootReceiver
-keep public class com.evernote.android.job.JobRescheduleService

-dontwarn com.evernote.android.job.v24.**
-dontwarn com.evernote.android.job.v14.JobProxy14
-dontwarn com.evernote.android.job.util.Device

عیب یابی

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


NoClassDevFound

عموما این مشکل به دلیل به روز نبودن فایل android-support-v4.jar در اکلیپس شما است. یکی از مقدمات مهم برای صحیح اجرا شدن کتابخانه پوشه، وجود داشتن و قدیمی نبودن فایل android-support-v4.jar می باشد. برای به روز رسانی این فایل را دانلود کنید و آن را جایگزین فایل android-support-v4.jar پروژه خود کنید. برای این کار به Workspace خود بروید و وارد فولدر پروژه و سپس وارد فولدر libs شوید و این فایل را جایگزین کنید و اگر این فایل از قبل موجود نیست آن را در این فولدر قرار دهید.


co.ronash.pushe.controller.controllers.c.d(Unknown Source)

عموما این مشکل به دلیل به روز نبودن فایل android-support-v4.jar در اکلیپس شما است. یکی از مقدمات مهم برای صحیح اجرا شدن کتابخانه پوشه، وجود داشتن و قدیمی نبودن فایل android-support-v4.jar می باشد. برای به روز رسانی این فایل را دانلود کنید و آن را جایگزین فایل android-support-v4.jar پروژه خود کنید. برای این کار به Workspace خود بروید و وارد فولدر پروژه و سپس وارد فولدر libs شوید و این فایل را جایگزین کنید و اگر این فایل از قبل موجود نیست آن را در این فولدر قرار دهید.

همیشه در کنارتان هستیم

در اولین فرصت با ایمیل به شما پاسخ خواهیم داد.

شاید جواب سوال شما اینجا باشد: سوالات متداول ، مستندات
وارد کردن تمامی فیلد ها الزامی است.
پیام شما با موفقیت ارسال شد