# iOS

### 1. Nếu bạn chưa có tài khoản, hãy đăng ký tại [pushdy.com](https://dashboard.pushdy.com/#/register)

1\. Truy cập [Dashboard](https://dashboard.pushdy.com)\
2\. Tạo 1 ứng dụng nếu bạn chưa có

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-LvPQVpxB-_PIfJ2Kb-b%2F-LvPTGRWP_SvBbd012UV%2F1.png?alt=media\&token=02542cac-7e4d-489a-830b-f5b4803d014f)

### 2. Thiết lập Mobile Push cho ứng dụng của bạn

1\. Truy cập vào trang Settings.\
2\. Chọn **Apple iOS** để bắt đầu thiết lập.

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-LjP8TnIRsJEqQk3qjOr%2F-LjP9X30UWSUWZVkfspm%2FScreen%20Shot%202019-07-10%20at%2011.34.36%20AM.png?alt=media\&token=7e54cc9c-1ecd-45de-8cd8-d99575d209e2)

3\. Cấu hình Mobile Push cho iOS

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-LjU8vR_0OqCCXoUABHO%2F-LjU96IO0MWAgYt2OVyY%2FScreen%20Shot%202019-07-11%20at%2010.46.42%20AM.png?alt=media\&token=c9a6ad4e-f57a-424b-a63a-35bf981eb4e1)

* *APNS Environment:* Lựa chọn môi trường Push Notification phù hợp với Apple Push Certificate của bạn
* *PEM file:* Tải lên tệp tin Apple Push Certificate ở định dạng PEM.
* Submit để lưu cấu hình.

Chú ý: Cách tạo tệp tin Certificate ở định dạng PEM được hướng dẫn chi tiết [tại đây](https://guide.pushdy.com/i/cai-dat/cach-tao-ios-push-certificate).

### 3. Cài đặt SDK cho iOS app

Bạn có thể tích hợp Pushdy cho iOS App sử dụng iOS Native SDK (hỗ trợ ngôn ngữ Objective-C và Swift) hoặc React Native SDK (ngôn ngữ lập trình Javascript).

**Điều kiện:**\
Project của bạn phải có Swift phiên bản từ 4.2 trở lên.\
Nếu bạn dùng React Native SDK thì bạn cần nâng cấp lên phiên bản <react-native@0.60.x> hoặc mới hơn. Và bạn cần phải thêm cờ `use_frameworks!` ở trong Podfile của project như hình dưới:

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-M1-Y-hi1cn68_ppsab9%2F-M1-cmMrUBaDIRA-Xxey%2Fimage%20\(1\).png?alt=media\&token=a9236754-ceff-4cc8-bf51-2776b056c7aa)

**Cài đặt SDK:**\
Đóng Xcode project và mở Terminal, đi tới thư mục gốc Xcode project của bạn và chạy các lệnh sau:

{% tabs %}
{% tab title="iOS Native SDK" %}

```
pod 'PushdySDK'
```

{% endtab %}

{% tab title="React Native SDK" %}

```
npm install react-native-pushdy --save
pod install --project-directory=ios
```

{% endtab %}
{% endtabs %}

**Sử dụng:**\
Khai báo sử dụng Pushdy SDK như sau:

{% tabs %}
{% tab title="Objective-C" %}

```objectivec
#import <PushdySDK/PushdySDK-Swift.h>
```

{% endtab %}

{% tab title="Swift" %}

```swift
import PushdySDK
```

{% endtab %}

{% tab title="React Native: Objective-C" %}

```objectivec
#import <react_native_pushdy/react_native_pushdy-Swift.h>
```

{% endtab %}
{% endtabs %}

Mở file `AppDelegate` trong Xcode project của bạn và tìm tới hàm `didFinishLaunchingWithOptions` và thêm dòng code dưới đây, đừng quên thay `YOUR_CLIENT_KEY` bằng Client Key của trong App của bạn. Bạn có thể xem cách lấy trong phần [Tạo ứng dụng](https://guide.pushdy.com/i/huong-dan-su-dung/tao-ung-dung).

{% tabs %}
{% tab title="Objective-C" %}

```objectivec
NSString *clientKey = @"YOUR_CLIENT_KEY";
[Pushdy initWithClientKey:clientKey delegate:self launchOptions:launchOptions];
```

{% endtab %}

{% tab title="Swift" %}

```swift
let clientKey = "YOUR_CLIENT_KEY"
Pushdy.initWith(clientKey: clientKey, delegate: self, launchOptions: launchOptions)
```

{% endtab %}

{% tab title="React Native: Objective-C" %}

```objectivec
NSString *clientKey = @"YOUR_CLIENT_KEY";
[RNPushdy registerSdk:clientKey delegate:self launchOptions:launchOptions];
```

{% endtab %}
{% endtabs %}

Bây giờ, bạn có thể gọi hàm để hiển thị cửa sổ xin quyền Push Notification theo logic của bạn. Chúng tôi khuyến nghị nên thiết kế 1 màn hình giải thích lý do và lợi ích nếu người dùng đồng ý bật Push Notification trước khi bạn gọi đoạn code này.

{% tabs %}
{% tab title="Objective-C" %}

```objectivec
[Pushdy registerForPushNotifications];
```

{% endtab %}

{% tab title="Swift" %}

```swift
Pushdy.registerForPushNotifications()
```

{% endtab %}

{% tab title="React Native: Javascript" %}

```javascript
await Pushdy.initPushdy({
    deviceId: 'YOUR DEVICE ID'
});
```

{% endtab %}
{% endtabs %}

Sau khi bạn gọi đoạn code trên, trên App của bạn sẽ hiển thị như sau:

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-LmrKKattGD36yu5tmJq%2F-LmrOM_eoXlOmkY0CxcJ%2Fimg-3.png?alt=media\&token=2fbc781d-9cab-48c7-9d98-580c4d59ffb3)

### 4. Bật tính năng Push Notification cho project của bạn sử dụng Xcode.

Mở project của bạn trên Xcode. Sau đó vào tab Capabilities và bật tính năng Push Notification như hình bên dưới.

![](https://642812566-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LivEjU_mWUsjVlvp1TF%2F-Lwr38Tfrp0QF05DeNkx%2F-Lwr5EPcjnEeUdNd6gN-%2F2.png?alt=media\&token=5e7c1cb9-664a-43d8-bee9-1bb3669274f6)
