نمای کلی
برای استفاده از Google Fit برای اندروید، به یک شناسه کلاینت OAuth 2.0 برای برنامههای اندروید نیاز دارید.
تمام برنامههای اندروید با یک گواهی دیجیتال که کلید خصوصی آن را در اختیار دارید، امضا میشوند. برای اطلاعات بیشتر در مورد گواهیهای دیجیتال، به راهنمای اندروید برای امضای برنامههای خود مراجعه کنید.
شناسههای کلاینت OAuth اندروید به جفتهای خاصی از گواهی/بسته مرتبط هستند. شما فقط به یک شناسه برای هر گواهی نیاز دارید، مهم نیست که چند کاربر برای برنامه دارید.
دریافت شناسه برای برنامه شما نیاز به چندین مرحله دارد. این مراحل در زیر شرح داده شده است.
- اطلاعات گواهی برنامه خود را پیدا کنید.
- یک پروژه را در کنسول API گوگل ایجاد یا اصلاح کنید.
- درخواست شناسه کلاینت OAuth 2.0.
اطلاعات گواهی برنامه خود را پیدا کنید
کلید API بر اساس فرم کوتاهی از گواهی دیجیتال برنامه شما، که به عنوان اثر انگشت SHA-1 شناخته میشود، ساخته شده است. برای نمایش اثر انگشت SHA-1 برای گواهی خود، ابتدا مطمئن شوید که از گواهی صحیح استفاده میکنید. ممکن است دو گواهی داشته باشید:
- گواهی اشکالزدایی : ابزارهای SDK اندروید این گواهی را بهطور خودکار هنگام ساخت اشکالزدایی تولید میکنند. فقط از این گواهی با برنامههایی که آزمایش میکنید استفاده کنید. سعی نکنید برنامهای را که با گواهی اشکالزدایی امضا شده است منتشر کنید. گواهی اشکالزدایی با جزئیات بیشتر در بخش «ورود به سیستم در حالت اشکالزدایی» در مستندات توسعهدهندگان اندروید توضیح داده شده است.
- گواهی انتشار : ابزارهای Android SDK این گواهی را هنگام ساخت نسخه منتشر شده تولید میکنند. همچنین میتوانید این گواهی را با استفاده از برنامه
keytoolتولید کنید. از این گواهی زمانی استفاده کنید که آماده انتشار برنامه خود به جهان هستید.
برای نمایش اثر انگشت SHA-1 یک گواهی با استفاده از برنامه keytool با پارامتر -v ، مراحل زیر را دنبال کنید. برای اطلاعات بیشتر در مورد Keytool، به مستندات Oracle مراجعه کنید.
نمایش اثر انگشت گواهی اشکالزدایی
فایل debug keystore خود را پیدا کنید. نام فایل
debug.keystoreاست و در اولین باری که پروژه خود را میسازید ایجاد میشود. به طور پیشفرض، این فایل در همان دایرکتوری فایلهای دستگاه مجازی اندروید (AVD) شما ذخیره میشود:- macOS و لینوکس :
~/.android/ - ویندوز ویستا و ویندوز ۷ :
C:\Users\your_user_name\.android\
- macOS و لینوکس :
اثر انگشت SHA-1 را فهرست کنید:
برای لینوکس یا macOS، یک پنجره ترمینال باز کنید و موارد زیر را وارد کنید:
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
نمایش اثر انگشت گواهی انتشار
فایل keystore گواهی انتشار خود را پیدا کنید. هیچ مکان یا نام پیشفرضی برای keystore انتشار وجود ندارد. اگر هنگام ساخت برنامه خود برای انتشار، آن را مشخص نکنید،
.apk. شما بدون امضا باقی میماند و قبل از انتشار باید آن را امضا کنید. برای گواهی انتشار، به نام مستعار گواهی و رمزهای عبور keystore و گواهی نیز نیاز دارید. میتوانید با وارد کردن موارد زیر، نامهای مستعار همه کلیدهای موجود در یک 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 عدد دو رقمی هگزادسیمال است که با دونقطه از هم جدا شدهاند.
درخواست شناسه کلاینت OAuth 2.0 در کنسول API گوگل
برای ایجاد یا تغییر یک پروژه برای برنامه خود در کنسول API گوگل، فعال کردن Fitness API و درخواست شناسه کلاینت OAuth 2.0، این مراحل را دنبال کنید.
اگر میخواهید در طول فرآیند راهنمایی شوید و API تناسب اندام را به طور خودکار فعال کنید، کلیک کنید
روش دیگر، برای فعال کردن Fitness API در کنسول Google API و دریافت شناسه کلاینت OAuth 2.0، این مراحل را دنبال کنید.
- به کنسول API گوگل بروید.
- یک پروژه انتخاب کنید یا یک پروژه جدید ایجاد کنید. از همان پروژه برای نسخههای اندروید و REST برنامه خود استفاده کنید.
- برای فعال کردن Fitness API روی ادامه کلیک کنید.
- روی رفتن به اعتبارنامهها کلیک کنید.
- روی اعتبارنامههای جدید کلیک کنید، سپس شناسه کلاینت OAuth را انتخاب کنید.
- در قسمت نوع برنامه، اندروید را انتخاب کنید.
در پنجرهی باز شده، اثر انگشت SHA-1 و نام بستهی برنامهی خود را وارد کنید. برای مثال:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75com.example.android.fit-exampleروی ایجاد کلیک کنید. شناسه و رمز کلاینت OAuth 2.0 اندروید جدید شما در لیست شناسههای پروژه شما ظاهر میشود. شناسه کلاینت OAuth 2.0 رشتهای از کاراکترها است، چیزی شبیه به این:
780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com