این سند نحوه شروع توسعه با API پیامهای نزدیک در اندروید را توضیح میدهد. API پیامهای نزدیک بخشی از سرویسهای گوگل پلی است.
مرحله ۱: دریافت سرویسهای گوگل پلی
API پیامهای نزدیک در دستگاههای اندروید با سرویسهای گوگل پلی ۷.۸.۰ یا بالاتر در دسترس است. دستگاههایی که اندروید ۲.۳ یا بالاتر دارند و برنامه فروشگاه گوگل پلی را دارند، بهطور خودکار بهروزرسانیهای سرویسهای گوگل پلی را دریافت میکنند. برای بررسی اینکه کدام نسخه از سرویسهای گوگل پلی روی دستگاه شما نصب شده است، به تنظیمات > برنامهها > سرویسهای گوگل پلی بروید.
مطمئن شوید که جدیدترین کتابخانه کلاینت برای سرویسهای گوگل پلی را روی میزبان توسعه خود دارید:
- مدیر SDK اندروید را باز کنید.
در مسیر Appearance & Behavior > System Settings > Android SDK > SDK Tools ، مطمئن شوید که بستههای زیر نصب شدهاند:
- سرویسهای گوگل پلی
- مخزن گوگل
مرحله ۲: یک حساب گوگل دریافت کنید
برای استفاده از APIهای پیامهای نزدیک، به یک حساب گوگل نیاز دارید. این به این دلیل است که شما، به عنوان توسعهدهنده، بتوانید API نزدیک را در مرحله بعدی فعال کنید (کاربران شما نیازی به داشتن حساب گوگل نخواهند داشت). اگر از قبل حساب کاربری دارید، همه چیز آماده است. همچنین ممکن است برای اهداف آزمایشی به یک حساب گوگل جداگانه نیاز داشته باشید.
مرحله ۳: دریافت کلید API
برای فعال کردن API پیامهای نزدیک گوگل برای اندروید و دریافت کلید API، این مراحل را دنبال کنید:
- به کنسول توسعهدهندگان گوگل بروید.
- یک پروژه برای ثبت درخواست خود ایجاد یا انتخاب کنید.
- برای فعال کردن API روی ادامه کلیک کنید.
- در صفحه Credentials ، یک کلید اندروید جدید ایجاد کنید (و API Credentials را تنظیم کنید).
توجه: اگر کلید اندروید موجود دارید، میتوانید از آن کلید استفاده کنید. - در پنجرهی باز شده، اثر انگشت SHA-1 و نام بستهی برنامهی خود را وارد کنید. برای مثال:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.nearbyexample
- کلید API اندروید جدید شما در لیست کلیدهای API پروژهتان ظاهر میشود. یک کلید API رشتهای از کاراکترها است، چیزی شبیه به این:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
اثر انگشت SHA1 گواهی خود را دریافت کنید
برای ایجاد یک کلید API جدید برای برنامه اندروید خود، به اثر انگشت SHA1 گواهی که برای امضای APK خود استفاده میکنید، نیاز دارید. پیامها فقط میتوانند بین برنامههایی که با کلیدهای API از یک پروژه امضا شدهاند، رد و بدل شوند.
برای دریافت این اثر انگشت:
- محل فروشگاه کلید خود را پیدا کنید.
- در ترمینال، ابزار
keytoolرا از JDK اجرا کنید. برای مثال، اگر از keystore`debug`استفاده میکنید: - خروجی دستور
keytoolشامل اثر انگشت SHA1 برای گواهی است.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
نکته: برای کلید debug، رمز عبور android است. در سیستم عامل مک و لینوکس، کلید debug معمولاً در مسیر ~/.android/ debug.keystore قرار دارد. در ویندوز، معمولاً در مسیر %USERPROFILE%\ .android\ debug.keystore قرار دارد.
مرحله ۴: پروژه خود را پیکربندی کنید
اندروید استودیو ایجاد پروژه برای API پیامهای نزدیک (Nearby Messages API) را آسان میکند. برای ایجاد یک پروژه جدید، مراحل شرح داده شده در ایجاد یک پروژه را دنبال کنید. در اندروید استودیو، فایل build.gradle را برای ماژول خود باز کنید و کتابخانه کلاینت سرویسهای گوگل پلی را به عنوان یک وابستگی اضافه کنید:
apply plugin: 'android'
...
dependencies {
compile 'com.google.android.gms:play-services-nearby:19.3.0'
}
سپس، مانیفست خود را با کلید API تولید شده در مرحله قبل پیکربندی کنید:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.sample.app" >
<application ...>
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_KEY" />
<activity>
...
</activity>
</application>
</manifest>
مرحله ۵: انتشار و اشتراک
در برنامه خود، استفاده از API پیامهای نزدیک (Nearby Messages API) را شروع کنید.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
API پیامهای نزدیک (Nearby Messages API) نیاز به رضایت کاربر دارد. وقتی برای اولین بار یکی از گزینههای انتشار یا اشتراک فراخوانی شود، نزدیک یک کادر محاورهای برای انتخاب نمایش میدهد.