آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در نوتیفیکشن پارس (حل شد) +(اموزش کامل شد)

android  11 سال پیش  10 سال پیش
+14 0

با سلام دوستان من یه مشکلاتی در سیستم پارس داشتم که حل شد و حالا میخوام اموزش استفاده از  سیستم پارس رو بدم 

که دوباره شما به مشکل برنخورید و وقت شما از بین بره ....


 

در پایین اموزش قرار گرفته

باتشکر از شما 

سید حامد حسینی

0 0
دوستان کسی نیست جواب بده؟ (10 سال پیش)
0 0
تو خط (10 سال پیش)
0 0
تو خط چی دوست من؟ (10 سال پیش)
0 0
دوست من اسم پکیج برنامم همین هست. com.example.test (10 سال پیش)
+1 0
اگه با ایکلیپس استاد این کار رو میکنی باید بگم که من هر چی تلاش کردم با این ایکلیپس جز کرش کردن نتیجه ای نداشتم و هر جاش رو حل میکردم یه جای دیگه کرش میکرد حتی با کتابخانه های قدیمی بالاخره راه انداختم اما بازم یه جای دیگه کرش کرد و یه ایکلیپس دیگه نصب کردم و بدون دردسر در عرض 5 دقیقه راهش انداختم بدون هیچ اروری... (10 سال پیش)
0 0
شاید از اکلیپس باشه شاید هم از کتابخونه هاش. نوتیفیکشن برام میاد ولی هر کار میکنم بره به یه لینکی نمیره کد های json هم درست هست نمیدونم دیگه چه کارش کنم . (10 سال پیش)
0 0
خودتو اذیت نکن که با این ایکلیپس نمیره توی لینک فقط کرش... (10 سال پیش)
0 0
دوست من مشکل از اکلیپس نبود باید ما کلاس اصلی رو در کلاس push خود صدا میزدیم تا درست میشد. (10 سال پیش)
 برای این سوال 8 پاسخ وجود دارد.
پاسخ به سوال 
MobinTeb  10 سال پیش
+3 0

به اخطار ها توجه کن:

<!--
	  IMPORTANT: Change "com.example.test.permission.C2D_MESSAGE" in the lines below
	  to match your app's package name + ".permission.C2D_MESSAGE".
	-->
این میگه که به جای عبارت
com.example.test
اسم پکیج برنامه ات رو بنویس

<!-- IMPORTANT: Change "com.example.test" to match your app's package name. -->
و اینم همینو میگه 
 
 

 

پاسخ به سوال 
android  10 سال پیش
+1 0

دوست من اسم پکیج برنامم همین هست com.example.test من  با ابزار find  در  replaceall     manifest کردم.

0 0
دوستان کسی نیست جواب من رو بده (10 سال پیش)
0 0
اینو ببین ، همه مشکلاتت برطرف میشه لینک (10 سال پیش)
0 0
من کاربر اصلی این سایت نیستم که بتونم تگ های قرمز رو ببینم. (10 سال پیش)
پاسخ به سوال 
android  10 سال پیش
+2 0

از دوستانی که وقت گذاشتن برای حل این مشکل ممنون میشم.

خودم حلش کردم

از دوستانی که هنوز در راه اندازی آن مشکل دارند پیام خصوصی بدن تا بگم براشون چه باید بکنند.

پاسخ به سوال 
android  10 سال پیش
+8 0

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

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

دوم اینکه شما باید این کتابخونه ها رو دانلود کنید تا بعد بگم چه کار کنید.http://s3.picofile.com/file/8206729126/lib.zip.html

سوم اینکه شما  این فایل ها رو که دانلود کردین از حالت zip خارجش کنید و کل محتوای پوشه رو کپی میکنید داخل پوشه libs پروژه. تاکید میکنم باید کپی کنید.

چهارم حالا نوبت به وارد کردن فایل parse-1.3.jar به پروژه هست برای وارد کردن هم از روش add external jar باید برین جلو برای این روش هم برای تازه کار ها توضیح میدم اول روی پروژه خود کلیک راست کرده و بر روی properties کلیک کرده و در سمت چپ صفحه بر روی java build path و حالا بر روی add external jar کلیک کرده فایل رو وارد کرده و در اخر بر روی ok کلیک کنید.

 

و در صورتی که از اندروید استدیو استفاده میکنید در قسمت build gradle و در تگ dependencies این کد ها را اضافه کنید تا کتابخانه به برنامه اضافه شود.

 

 compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'

 

و در اخر بر روی sync now کلیک کنید و حتما به اینترنت متصل باشید.

 

پنجم حالا برین داخل فایل manifest و این کد ها رو اضافه میکنید.

در قسمت uses-permission این کد ها

 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<!--
  IMPORTANT: If you change the package name of this sample app, change
  "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the
  lines below to match the new package name.
-->
<permission
    android:name="نام پکیج برنامه.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="نام پکیج پروژه .permission.C2D_MESSAGE" />

در تگ application هم این کد ها رو وارد کنید.

        <service android:name="com.parse.PushService" />
        <receiver android:name="com.parse.ParsePushBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.parse.GcmBroadcastReceiver"
            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" />

                <!--
                  IMPORTANT: Change "com.parse.starter" to match your app's package name.
                -->
                <category android:name="نام پکیج برنامه" />
            </intent-filter>
        </receiver>
    
        

و حالا یک فایل java  بسازید و اسمش رو بزارید ParseApplication  و extends کنید به Application  و این کد ها رو بریزید داخلش 

 @Override
	public void onCreate() {
		super.onCreate();

	   Parse.initialize(this, "", "");
        ParseInstallation.getCurrentInstallation().saveInBackground();
	}

و این کد رو هم داخل تگ application  در manifest در خط اول ان باشد.

  android:name="نام پکیج خود .ParseApplication"

خوب حالا برین داخل سایت parse  ویه app جدید بسازید.

برای اولین بار باید شما پروژه رو بر روی یه گوشی اجرا کنید که در سیستم پارس ثبت شود و بعد بتوانید push  بفرستین .

تا اینجا فکر کنم بس دیگه باشه.

اگر خوشتون اومد تا بقیش رو هم بزارم.

0 0
کسی نمیخواد دیگه بقیه اموزش ها رو بگم. (10 سال پیش)
0 0
بفرما مهندس ممنون از آموزشتون (10 سال پیش)
0 0
از کتابخونه های قدیمی پارس استفاده کردی توی ایکلیپس استاد؟ (10 سال پیش)
0 0
اره 1.3 استفاده کردم. (10 سال پیش)
0 0
داداش لطفا کتابخونت رو آپلود کن و لینکش رو بذار ممنون. (10 سال پیش)
0 0
ادامه به داداش منم موافقم (10 سال پیش)
0 0
مگه بقیه داره عزیز؟ همین کافی نبوده؟ (10 سال پیش)
0 0
لینک دانلود لینک (10 سال پیش)
+2 0
بقیش امشب قرار میگیره.کار مهم رو انجام دادیم فقط مونده باز کردن لینک در برنامه همین. (10 سال پیش)
پاسخ به سوال 
android  10 سال پیش
+3 0

 

برای این که بخوایم لینک یا uri ای که در کد json خود داریم رو باز کنیم از این کد استفاده می کنیم.

اول از همه یه کلاس درست میکنید به اسم PushBroadcastReceiver و extends میکنید به ParsePushBroadcastReceiver و این کد ها رو میریزین داخلش 

 

 import android.app.Activity;
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.IBinder;

import com.parse.ParsePushBroadcastReceiver;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by hamed on 10/7/2013.
 */
public class PushBroadcastReceiver extends ParsePushBroadcastReceiver {
String url;

    @Override
    protected Class<? extends Activity> getActivity(Context context, Intent intent) {
        return super.getActivity(context, intent);
    }

    @Override
    protected Bitmap getLargeIcon(Context context, Intent intent) {
        return super.getLargeIcon(context, intent);
    }

    @Override
    protected Notification getNotification(Context context, Intent intent) {
        return super.getNotification(context, intent);
    }

    @Override
    protected int getSmallIconId(Context context, Intent intent) {
        return super.getSmallIconId(context, intent);
    }

    @Override
    protected void onPushDismiss(Context context, Intent intent) {
        super.onPushDismiss(context, intent);
    }

    @Override
    protected void onPushOpen(Context context, Intent intent) {
        super.onPushOpen(context, intent);
    }

    @Override
    protected void onPushReceive(Context context, Intent intent) {
        super.onPushReceive(context, intent);


    }

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);

        if (intent != null && intent.hasExtra("com.parse.Data")) {
            try {
                JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
                url = json.getString("uri");
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
              context.getApplicationContext().startActivity(i);
            } catch (JSONException e) {
            }
        }

        }
    }

ودر اخر در وارد سایت parse شوید ود در قسمت push ها بر روی send push کلیک کنید و در قسمت Write Your Message پیام خود را بنویسید در صورتی که میخواهید json ارسال کنید دکمه Message Type را بر روی json قرار دهید.

مثلا میخواهید وقتی کاربر بر روی پوش کلیک کرد link  برنامه کافه بازار باز بشه.

از این کد ها json استفاده میکنیم

 

 { 
  "alert": "test", 
  "titel": "link", 
  "uri": "https://cafebazaar.ir/app/ir.yadsaz.jadvalfaen/?l=fa" 
}

 

0 0
اموزش کامل شد. (10 سال پیش)
پاسخ به سوال 
وحید  10 سال پیش
+2 0

دو تا سوال :

مگه نمی شه با خود ارسال پیغام جیسون از طرف پارس وارد بازار شد که شما کد جدا نوشتید؟

دوم اینکه لطفا توضیح بده خط به خط این کدهایی که تو کلاس اپلیکیشن اضافه کردی برای چی هستن. چون برای من دوخط کد داره کلا:

مال شما :

Parse.initialize(this,"","");// کد ها رواز سایت پارس گرفته و بریزین داخل آن ها
P
arseUser.enableAutomaticUser();
ParseACL
defaultACL =newParseACL(); defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL,true);
PushService
.setDefaultPushCallback(this,MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();

مال من :

 
Parse.initialize(this, "", "");
ParseInstallation.getCurrentInstallation().saveInBackground();

 

پاسخ به سوال 
android  10 سال پیش
+3 0

 //این که برای کد دهی اولیه برای سیستم پارس هست
		Parse.initialize(this, "", "");// کد ها رواز سایت پارس گرفته و بریزین داخل آن ها
		//این کد وقتی برنامه برای اولین بار اجرا بشه در سیستم پارس فعال میشه 
		ParseUser.enableAutomaticUser();
	// اینم برای شخصی سازی بیشتر مورد استفاده قرار میگیرد 
		ParseACL defaultACL = new ParseACL();
		defaultACL.setPublicReadAccess(true);
		ParseACL.setDefaultACL(defaultACL, true);
		// اینم برای اجرا کردن  کد های در پس زمینه صفحه مورد نظر  
		PushService.setDefaultPushCallback(this, MainActivity.class);
		ParseInstallation.getCurrentInstallation().saveInBackground();

در صورت خواستن تا منبع اموزشی رو هم بگم.

 

 

0 0
ببخشید که دیر جواب دادم (10 سال پیش)
0 0
سلام دوستان ممنون از توضیحاتتون من با راهنمایی شما تونستم نوتیفیکیشن ارسال کنم و با کلیک روی اون سایت مورد نظرم باز میشه . حالا اگر بخوام با کلیک روی نوتیفیکیشن یه متن رو نمایش بده چکار باید بکنم؟ (10 سال پیش)
0 0
سورس کامل بزارید ممنون خیلی لازممممممم (10 سال پیش)
0 0
nmotaghed سلام این متن از سرور ارسال میشه یا در خود برنامه هست این ؟ (10 سال پیش)
0 0
ghasemhajizade سلام باشه حتما قرار میدم. (10 سال پیش)
0 0
راستی اگر ما بخوایم یک متن رو از طرف پارس بفرستیم که شامل توضیحاتی در رابطه با برنامه یا ... بشه باید چیکار کنیم؟ متن رو دریافت کنیم و در یک اکتیویتی جدید نمایش بدیم. (10 سال پیش)
0 0
ممنون بابت اموزش هنوز من منتظر سورس کامل هستم ممنون (10 سال پیش)
0 0
Rooh سلام من تا حالا این کار رو نکردم ولی اینایی که می بینینی این کار رو انجام میدن از سرور های اختصاصی خود هست. ولی من امتحان میکنم اگر شد این کار رو انجام بدی داخل پوست ها اموزشش رو میزارم. (10 سال پیش)
0 0
ممنون pchamde اما توی اون سایتی که معرفی کردی ایشون خودشون uri ... title ... رو داخل اکتیویتی نمایش داده بودن. (10 سال پیش)
پاسخ به سوال 
android  10 سال پیش
+1 0

سلام اینم برای دوستانی که میخواستن نمونه پروژه بزارم اینم نمونش 

http://s3.picofile.com/file/8209331992/ParseStarterProject.zip.html

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .