ایجاد گواهی اپل

برای راه‌اندازی تنظیمات ارسال نوتیفیکیشن سرور اپل (APNs) یکی از دو روش p8 و PEM را می‌توانید انتخاب کنید. البته p8 روش جدیدتر اپل برای ایجاد این گواهی می‌باشد که به مراتب آسان‌تر و ساده‌تر است، برای همین توصیه می‌کنیم از همین روش استفاده کنید.

نکته : توجه داشته باشید هنگامی که گواهی sandbox اپل را در پنل تستی قرار می‌دهید، فقط امکان دریافت Cloud Messaging در حالت debug وجود خواهد داشت. اما اگر گواهی production اپل را در محیط عملیاتی قرار دهید، زمانی Cloud Messaging را دریافت خواهید کرد که اقدام به ساخت ipa از پروژه خود کرده و از طریق TestFlight یا Enterprise اپلیکیشن خود را نصب کنید.

روش p8

همانطور که در بالا اشاره شد اپل با این روش، کار را بسیار ساده‌تر و کوتاه‌تر کرده‌است و برخی مشکلات PEM مانند تطابق کلید ایجاد شده با provisioning profile و همچنین منقضی شدن کلیدها را حذف کرده است. روش p8 را می‌توانید با انجام مراحل زیر اجرا کنید:

نکته: دقت داشته باشید که پس از دریافت کلیدها توسط این روش حتما آن‌ها را در جای مطمئن نگه‌ دارید و همینطور از آن‌ها Backup بگیرید چون این کلید‌ها فقط و فقط یکبار ارائه می‌شوند و بازیابی نخواهند شد.

مرحله اول: ایجاد APNs Auth Key

در ابتدا صفحه APNs Auth Key را در Developer Center خود باز کنید و با کلیک روی + یک APNs Auth Key جدید بسازید.

درصفحه بعد گزینه (Apple Push Notification Authentication Key (Sandbox & Production را انتخاب نمایید و در پایین صفحه continue را بزنید.


عکس مربوطه

مرحله دوم: دریافت و ذخیره APNs Auth Key جدید

پس از آن اپل فایل p8. که حاوی گواهی‌های APNs شماست را ایجاد می‌کند.


عکس مربوطه

فایل p8. را در دستگاه خود دانلود و ذخیره کنید.

در پایان کافی است به بخش تنظیمات پنل چابک بروید و ۴ شناسه زیر را در تنظیمات ارسال نوتیفیکیشن سرور اپل در کارت آی‌اواس قراردهید:

۱- Bundle Id اپلیکیشنتان

۲- Team ID (مخصوص حساب Apple Developer خودتان)

۳- Key ID فایل p8.

۴- فایل p8. که دانلود کردید


عکس مربوطه


روش PEM

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

مرحله اول : ایجاد شناسه برنامه

هر برنامه ی iOS که از پوش نوتیفیکیشن استفاده می کند باید یک App ID منحصر به خودش داشته باشد که بطور یکتا آن برنامه را مشخص کند. مراحل زیر روش ایجاد یک App ID را توضیح می دهد. اگر قبلا برای برنامه تان در اینجا App ID ایجاد کرده اید، از این مرحله گذر کنید.

۱- در قسمت پورتال برنامه نویسان اپل لاگین کنید.

۲- روی منوی Certificates, Identifiers & Profiles کلیک کنید.

عکس مربوطه

۳- برای اضافه کردن یک App ID جدید روی منوی App IDs کلیک کنید و بعد دکمه ی + را بزنید.

عکس مربوطه

۴- یک نام برای اپلیکیشن در قسمت ۱ و یک نام پکیج یا bundleID در قسمت ۲ مطابق شکل زیر وارد کنید. توجه کنید که باید حتما از Explicit App ID استفاده کنید. سپس دکمه ی Continue را بزنید.

عکس مربوطه

۵- در این مرحله اطلاعات App ID ای که در حال ساختش هستید را به شما نشان می دهد. دکمه ی Register را بزنید تا این مرحله تمام شود.

مرحله ی دوم : ایجاد درخواست گواهی اپل

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

۱- برنامه ی Keychain Access را در macOS خود باز کنید.

عکس مربوطه

۲- مسیر زیر را در برنامه انتخاب کنید.

Keychain Access -> Certificate Assistant -> Request a Certificate From a Certificate Authority

عکس مربوطه

۴- اطلاعات لازم را وارد کنید و گزینه ی Save to disk را تیک بزنید و بعد دکمه ی Continue را بزنید.

عکس مربوطه

۵- درخواست سرتیفیکیت را با همان نامی که برایش پیشنهاد شده، ذخیره کنید. در صفحه ی بعد دکمه ی Done را بزنید.

عکس مربوطه

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

بعد از اینکه App ID را ایجاد کردید، باید تنظیمات دریافت پوش نوتیفیکیشن آن را فعال کنید.

۱- برای تنظیم دریافت پوش نوتیفیکیشن یک App ID ، باید آن اپ را در لیست App IDs انتخاب کنید. بعد در قسمت Application Services دکمه ی Edit مربوط به آن App ID را بزنید.

عکس مربوطه

۲- با این کار صفحه ی تنظیمات نشان داده می شود. صفحه را اسکرول کنید تا قسمت Push Notifications را ببینید. چک باکس آن را تیک بزنید (شماره ۱ در عکس زیر) و دکمه Create Certificate را کلیک کنید.

عکس مربوطه

۳- یک ویزارد نمایش داده می شود. دکمه Continue را بزنید.

عکس مربوطه

۴- دکمه ی Choose File را بزنید و فایل درخواست سرتیفیکیت که در مرحله دوم ایجاد کردید را انتخاب کنید. دکمه Generate را بزنید.

عکس مربوطه

۵- سرتیفیکیت SSL شما ایجاد خواهد شد. حالا می توانید دکمه ی Download را بزنید و آن را دانلود کنید.

عکس مربوطه

سرتیفیکیت ایجاد شده را از لیست Application Services هم می توانید دانلود کنید.

عکس مربوطه

مراحل ایجاد Production Certificate هم به همین صورت هست.

مرحله ی چهارم : آماده کردن گواهی‌های اپل

۱- اسم سرتیفیکیت SSL ای که در انتهای مرحله قبل دانلود کرده اید، aps_development.cer است. روی آن کلیک کنید تا در برنامه Keychain Access نصب شود. این سرتیفیکیت SSL باید توسط سرویس چابک استفاده شود تا بتواند به APNS برای ارسال پوش نوتیفیکیشن به برنامه شما متصل شود. (APNS: Apple Push Notification Service)

۲- برنامه Keychain Access را روی Mac خود باز کنید. به قسمت login بروید و براساس دسته بندی Certificates محتوایش را فیلتر کنید. در اینجا گزینه ای به نام Apple Development iOS Push Services می بینید که با یک کلید خصوصی جفت شده است.

عکس مربوطه

۳- روی این سرتیفیکیت پوش نوتیفیکشن جدیدتان کلیک راست کنید و گزینه ی Export “Apple Development iOS Push Services را انتخاب کنید، در صفحه باز شده File Format را cer انتخاب کرده و فایل حاصل را با نام Certificates.cer در جایی که در دسترس تان باشد ذخیره کنید.

۴- روی این سرتیفیکیت پوش نوتیفیکشن جدیدتان کلیک راست کنید و گزینه ی Export “Apple Development iOS Push Services را انتخاب کنید،‌ در صفحه باز شده File Format را p12 انتخاب کرده و فایل حاصل را با نام Certificates.p12 در جایی که در دسترس تان باشد ذخیره کنید.

برای اکسپورت کردن می توانید پسورد هم وارد کنید اما در اینصورت لازم است که همراه با ارسال فایل سرتیفیکیت به چابک، پسورد آن را هم ارسال کنید.

عکس مربوطه

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

عکس مربوطه

پس از ایجاد فایل های cer. و p12. دستور زیر را در terminal اجرا کنید:

openssl x509 -in Certificates.cer -inform der -out pushCert.pem
openssl pkcs12 -nocerts -out pushKey.pem -in Certificates.p12 -nodes

فایل های ساخته شده را در پنل در بخش تنظیمات > تنظیمات پیشرفته آپلود کنید.

پنل چابک

فایل pushCert.pem را در قسمت گواهی و فایل pushKey.pem را در قسمت کلید اضافه کنید.

پنل چابک