برای استفاده از API مربوط به Google Awareness، باید یک کلید API گوگل به برنامه خود اضافه کنید. نوع کلید API مورد نیاز شما، کلید API اندروید است.
تمام برنامههای اندروید با یک گواهی دیجیتال که کلید خصوصی آن را در اختیار دارید، امضا میشوند. برای اطلاعات بیشتر در مورد گواهیهای دیجیتال، به راهنمای اندروید در مورد نحوه امضای برنامه خود مراجعه کنید.
کلیدهای API اندروید به جفتهای خاصی از گواهی-بسته مرتبط هستند. شما فقط برای هر گواهی به یک کلید نیاز دارید، مهم نیست چند کاربر برای برنامه دارید.
برای دریافت کلید برنامه خود، چندین مرحله لازم است. این مراحل در این راهنما به تفصیل شرح داده شده و به شرح زیر خلاصه میشوند:
- اطلاعات مربوط به گواهی برنامه خود را دریافت کنید.
- یک پروژه را در کنسول توسعهدهندگان گوگل ثبت کنید و رابط برنامهنویسی کاربردی زمینه کاربر (User Context API) را به عنوان سرویسی برای پروژه اضافه کنید.
- درخواست کلید.
- کلید را به برنامه خود اضافه کنید. برای انجام این کار، یک عنصر به مانیفست برنامه خود اضافه کنید.
اطلاعات گواهی برنامه خود را پیدا کنید
کلید API بر اساس فرم کوتاهی از گواهی دیجیتال برنامه شما، که به عنوان اثر انگشت SHA-1 شناخته میشود، ساخته شده است. برای نمایش اثر انگشت SHA-1 برای گواهی خود، ابتدا مطمئن شوید که از گواهی صحیح استفاده میکنید. ممکن است دو گواهی زیر برای انتخاب داشته باشید:
- گواهی اشکالزدایی : ابزارهای SDK اندروید این گواهی را بهطور خودکار هنگام ساخت اشکالزدایی تولید میکنند. فقط از این گواهی با برنامههایی که آزمایش میکنید استفاده کنید. سعی نکنید برنامهای را که با گواهی اشکالزدایی امضا شده است منتشر کنید. گواهی اشکالزدایی با جزئیات بیشتر در بخش «امضای ساخت اشکالزدایی» در مستندات توسعهدهنده اندروید توضیح داده شده است.
- گواهی انتشار : ابزارهای Android SDK این گواهی را هنگام ساخت نسخه منتشر شده تولید میکنند. همچنین میتوانید این گواهی را با برنامه
keytoolتولید کنید. از این گواهی زمانی استفاده کنید که آماده انتشار برنامه خود به جهان هستید.
برای اطلاعات بیشتر در مورد keytool ، به مستندات Oracle آن مراجعه کنید.
نمایش اثر انگشت گواهی اشکالزدایی
از برنامه keytool به همراه پارامتر -v برای نمایش اثر انگشت SHA-1 یک گواهی استفاده کنید. برای انجام این کار، مراحل زیر را انجام دهید:
فایل debug keystore خود را پیدا کنید. نام فایل
debug.keystoreاست و در اولین باری که پروژه خود را میسازید ایجاد میشود. به طور پیشفرض، در همان دایرکتوری فایلهای دستگاه مجازی اندروید (AVD) شما ذخیره میشود:- سیستمعاملهای OS X و لینوکس :
~/.android/ - ویندوز ویستا و ویندوز ۷ :
C:\Users\your_user_name\.android\
- سیستمعاملهای OS X و لینوکس :
اثر انگشت SHA-1 را فهرست کنید:
برای لینوکس یا OS X، یک پنجره ترمینال باز کنید و موارد زیر را وارد کنید:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
برای ویندوز ویستا و ویندوز ۷، دستور زیر را اجرا کنید:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
باید خروجی مشابه زیر را ببینید:
Alias name: androiddebugkey Creation date: Jan 01, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4aa9b300 Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
اثر انگشت گواهی انتشار را نمایش دهید
از برنامه keytool به همراه پارامتر -v برای نمایش اثر انگشت SHA-1 یک گواهی استفاده کنید. برای انجام این کار، مراحل زیر را انجام دهید:
- فایل کلید گواهی انتشار خود را پیدا کنید. هیچ مکان یا نام پیشفرضی برای کلید انتشار وجود ندارد. اگر هنگام ساخت برنامه خود برای انتشار، آن را مشخص نکنید،
.apkشما بدون امضا باقی میماند و قبل از انتشار باید آن را امضا کنید. برای گواهی انتشار، به نام مستعار گواهی، رمزهای عبور کلید و خود گواهی نیز نیاز دارید. برای فهرست کردن نامهای مستعار برای تمام کلیدهای موجود در یک keystore، دستور زیر را وارد کنید:
keytool -list -keystore your_keystore_name
your_keystore_nameبا مسیر و نام کامل keystore جایگزین کنید. پسوند.keystoreرا نیز اضافه کنید. در صورت درخواست، رمز عبور keystore را وارد کنید. سپس،keytoolتمام نامهای مستعار موجود در keystore را نمایش میدهد.دستور زیر را در ترمینال یا خط فرمان وارد کنید:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
- به جای
your_keystore_nameمسیر و نام کامل keystore را وارد کنید. پسوند.keystoreرا نیز اضافه کنید. -
your_alias_nameبا نام مستعاری که هنگام ایجاد گواهی به آن اختصاص دادهاید، جایگزین کنید.
باید خروجی مشابه زیر را ببینید:
Alias name: <alias_name> Creation date: Feb 02, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4cc9b300 Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
خطی که با SHA1 شروع میشود، حاوی اثر انگشت SHA-1 گواهی است. این اثر انگشت، توالی 20 عدد دو رقمی هگزادسیمال است که با دونقطه از هم جدا شدهاند.
دریافت کلید API از کنسول توسعهدهندگان گوگل
برای شروع کار با API آگاهی گوگل، روی دکمه «دریافت کلید» کلیک کنید. این دکمه به کنسول توسعهدهندگان گوگل متصل میشود که شما را در طول فرآیند راهنمایی کرده و API آگاهی را به طور خودکار فعال میکند.
روش دیگر، برای دریافت کلید API، این مراحل را دنبال کنید:
- به کنسول توسعهدهندگان گوگل بروید.
- یک پروژه انتخاب کنید، یا یک پروژه جدید ایجاد کنید.
- برای فعال کردن Awareness API روی ادامه کلیک کنید.
در صفحه «اعتبارنامهها»، یک کلید اندروید ایجاد کنید و اعتبارنامههای API را تنظیم کنید.
در کادر محاورهای «ایجاد کلید»، باید استفاده خود را به برنامههای اندروید محدود کنید. برای انجام این کار، اثر انگشت 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.awareness-exampleروی ایجاد کلیک کنید. کلید API اندروید جدید شما در لیست کلیدهای API پروژه شما ظاهر میشود. یک کلید API رشتهای از کاراکترها است، مانند موارد زیر:
AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
حالا که کلید API را دارید، میتوانید آن را به مانیفست برنامه خود اضافه کنید، همانطور که در راهنمای شروع به کار توضیح داده شده است.
فعال کردن API های اضافی
API آگاهی (Awareness API) به شما امکان میدهد به انواع مختلفی از دادههای زمینهای، مانند beacons ، دسترسی داشته باشید. برای استفاده از این نوع دادهها، باید APIهای مربوطه را در کنسول توسعهدهندگان گوگل (Google Developers Console) فعال کنید.
| خدمات | روشهای API آگاهیبخشی | API برای فعال کردن |
|---|---|---|
| چراغها | SnapshotApi.getBeaconState() ، FenceApi.BeaconFence | API پیامهای نزدیک |