با Google Sign-In برای iOS و macOS شروع کنید

قبل از اینکه بتوانید ادغام برنامه iOS یا macOS خود را با اجزای Google Sign-In شروع کنید، باید وابستگی‌ها را دانلود کرده و پروژه Xcode خود را پیکربندی کنید. مراحل موجود در این صفحه دقیقاً همین کار را انجام می‌دهند. سپس مراحل بعدی نحوه ادغام ویژگی‌های Google Sign-In را در برنامه شما شرح می‌دهند.

قبل از اینکه شروع کنی

نسخه فعلی Xcode را نصب کنید.

وابستگی‌های ورود به سیستم گوگل را در پروژه خود نصب کنید

کوکوپادز

  1. اگر CocoaPods را از قبل نصب نکرده‌اید، مراحل موجود در راهنمای شروع به کار با CocoaPods را دنبال کنید.

  2. یک پنجره ترمینال باز کنید و به محل پروژه Xcode برنامه خود بروید.

  3. اگر هنوز برای برنامه خود Podfile ایجاد نکرده‌اید، اکنون یکی بسازید:

    pod init

  4. فایل Podfile ایجاد شده برای برنامه خود را باز کنید و موارد زیر را اضافه کنید:

    pod 'GoogleSignIn'

  5. اگر از SwiftUI استفاده می‌کنید، افزونه pod را برای دکمه «ورود با گوگل» نیز اضافه کنید:

    pod 'GoogleSignInSwiftSupport'

  6. فایل را ذخیره و اجرا کنید:

    pod install

  7. فایل فضای کاری .xcworkspace تولید شده برای برنامه خود را در Xcode باز کنید. از این فایل برای تمام توسعه‌های آینده روی برنامه خود استفاده کنید. (توجه داشته باشید که این با فایل پروژه .xcodeproj موجود در بسته‌بندی متفاوت است، که هنگام باز شدن منجر به خطاهای ساخت می‌شود.)

    برای مثال می‌توانید به Podfile برنامه نمونه Objective-C مراجعه کنید.

مدیر بسته سوئیفت

  1. پروژه خود را در Xcode باز کنید.

  2. وابستگی‌های ورود به سیستم گوگل را به برنامه خود اضافه کنید ( مستندات Xcode ):

    مخزن https://github.com/google/GoogleSignIn-iOS
    نسخه ۹.۰.۰
    محصول بسته‌بندی شده ورود به سیستم گوگل
  3. اگر از SwiftUI استفاده می‌کنید، افزونه‌ی زیر را نیز برای دکمه‌ی «ورود با گوگل» اضافه کنید:

    محصول بسته‌بندی شده ورود گوگل، سویفت

دریافت شناسه کلاینت OAuth

برنامه شما برای شناسایی خود در بک‌اند احراز هویت گوگل به یک شناسه کلاینت OAuth نیاز دارد. برای برنامه‌های iOS و macOS ، نوع برنامه شناسه کلاینت OAuth باید به صورت iOS پیکربندی شود.

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

یک شناسه کلاینت OAuth ایجاد کنید

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

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

دریافت شناسه کلاینت OAuth موجود

دریافت شناسه کلاینت سرور OAuth

اکثر برنامه‌ها نیاز دارند هویت کاربران وارد شده را به نوعی سرویس backend منتقل کنند. برای انتقال ایمن هویت کاربرانی که با گوگل وارد سیستم شده‌اند به backend شما، از توکن‌های شناسه استفاده می‌کنید، همانطور که در بخش احراز هویت با سرور backend بحث شده است. بازیابی توکن شناسه کاربر نیاز به یک شناسه کلاینت دوم - شناسه کلاینت سرور شما - دارد که نشان دهنده backend شما است.

برای ایجاد شناسه کلاینت سرور:

  1. پروژه خود را در کنسول Cloud باز کنید.

  2. یک شناسه کلاینت OAuth از نوع برنامه وب جدید ایجاد کنید. رشته شناسه کلاینت را یادداشت کنید، که برای پیکربندی ورود به سیستم گوگل در برنامه خود به آن نیاز خواهید داشت.

پروژه برنامه خود را پیکربندی کنید

ورود به سیستم با گوگل مستلزم آن است که پروژه شما با شناسه کلاینت OAuth و یک طرح URL سفارشی پیکربندی شود. به صورت اختیاری، می‌توانید شناسه کلاینت سرور خود را نیز برای احراز هویت backend اضافه کنید یا برنامه خود را برای دامنه Google Workspace خود بهینه کنید.

شناسه کلاینت OAuth و طرح URL سفارشی خود را اضافه کنید

فایل Info.plist برنامه خود را به‌روزرسانی کنید تا شناسه کلاینت OAuth و یک طرح URL سفارشی بر اساس شناسه کلاینت معکوس شده اضافه شود.

شناسه کلاینت معکوس شده، شناسه کلاینت شما است که ترتیب فیلدهای جدا شده با نقطه معکوس شده است. این شناسه همچنین هنگام انتخاب یک کلاینت iOS OAuth موجود در کنسول Cloud ، در زیر « طرح URL iOS » نشان داده می‌شود. برای مثال: com.googleusercontent.apps.1234567890-abcdefg

<key>GIDClientID</key>
<string>YOUR_IOS_CLIENT_ID</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
    </array>
  </dict>
</array>

اختیاری: پیکربندی احراز هویت backend

اگر برای احراز هویت در backend نیاز به دریافت توکن‌های شناسه کاربران دارید، کلید GIDServerClientID را نیز در فایل Info.plist برنامه خود تنظیم کنید.

<key>GIDServerClientID</key>
<string>YOUR_SERVER_CLIENT_ID</string>

اختیاری: بهینه‌سازی برای دامنه Google Workspace یا OpenID realm

اگر می‌خواهید جریان ورود به سیستم را برای یک دامنه Google Workspace بهینه کنید، از پارامتر GIDHostedDomain استفاده کنید.

<key>GIDHostedDomain</key>
<string>YOUR_HOSTED_DOMAIN</string>

اگر می‌خواهید یک قلمرو OpenID مشخص کنید، از پارامتر GIDOpenIDRealm استفاده کنید.

<key>GIDOpenIDRealm</key>
<string>YOUR_OPENID_REALM</string>

امضای درخواست شما

برای اجرای بومی روی دستگاه‌های macOS و iOS، برنامه شما باید با گواهی صادر شده توسط اپل امضا شود تا بتواند اعتبارنامه‌ها را با استفاده از Keychain ذخیره کند.

برای اینکه برنامه macOS شما بتواند با موفقیت اعتبارنامه‌ها را با استفاده از Keychain ذخیره کند، باید $(AppIdentifierPrefix)$(CFBundleIdentifier) نیز به گروه دسترسی keychain آن اضافه کنید.

مراحل بعدی

اکنون که وابستگی‌های پروژه را دانلود کرده و پروژه Xcode خود را پیکربندی کرده‌اید، می‌توانید Google Sign-In را به برنامه iOS خود اضافه کنید.