Site icon บริษัท โค๊ดบี จำกัด

ใช้งาน OneSignal ส่ง Push Notification

ใช้งาน OneSignal ส่ง Push Notification


Push Notification คือรูปแบบการส่งข้อความแบบ Remote Message ไปที่โมบายแอพพลิเคชั่นที่ถูกติดตั้งไว้ที่เครื่องโทรศัพท์มือถือ ซึ่งตัวข้อความสามารถทำได้หลาย platform ทั้ง iOS, Android หรือ Window Phone รูปแบบการส่งข้อความแบบนี้ เป็นจุดเด่น มีประโยชน์และมีความสำคัญเป็นอย่างมาก เหมาะที่จะนำไปใช้กับทุก ๆ ประเภทแอพพลิเคชั่น

OneSignal เป็นบริการ Cross Platform Push Notification ทำให้เราสามารถส่งข้อความ
ไปได้ทั้ง iOS, Android, Window Phone รวมถึง Notification บน Browser
หลาย ๆ feature เราอาจจะหาไม่ได้ใน Native Plugins ตัวอื่น ๆ แต่หาได้ใน OneSignal
ตัวอย่างเช่น Badge Number ใน Android สำหรับ OneSignal แล้วมีให้ใช้งานแบบ Easy Customize
และที่สำคัญใช้ฟรี 100% ไม่มีค่าใช้จ่าย

1. สมัครสมาชิกเพื่อใช้งาน

เข้าไปที่ https://onesignal.com ทำการสมัครสมาชิกและยืนยันอีเมล

2. ตั้งค่าให้ใช้งาน iOS และ Android

– สำหรับ Android จะใช้ Google API Key วิธีสร้างคีย์ให้ไปที่ Google Developer Console
ทำการสร้าง Google Project และก๊อปปี้ API key มาใส่ในช่อง Google Server API Key

– สำหรับ iOS จะใช้ไฟล์ .p12 ทั้งแบบ Development และ Production วิธีสร้างให้ดูจากกระทู้นี้ วิธีสร้างไฟล์ .pem สำหรับ iOS Push Notification
เสร็จแล้วก็อัพโหลดขึ้นไปทั้ง 2 ไฟล์ใส่รหัสผ่าน กดปุ่ม save

ติดตั้ง OneSignal Plugin ใน UNITY – ดาวน์โหลด onesignal unity plugin ที่ onesignal plugin download
– สร้าง Unity project และดับเบิ้ลคลิ๊กที่ตัว plugin ที่ดาวน์โหลดมา ( ดูว่าเราใช้ unity4.xx หรือ unity5.xx )
– เข้าไปแก้ AndroidManifest.xml ที่ Assets/Plugins/Android/OneSignalConfig/AndroidManifest.xml
โดยให้เปลี่ยน ${manifestApplicationId} เป็น Bundle id ของเรา

${manifestApplicationId}

ก็จะได้โค๊ด xml ประมาณนี้

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.onesignal.onesignalsdk"
    android:versionCode="1"
    android:versionName="1.0" >
    
    <permission android:name="com.codebee.tustpush.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.codebee.tustpush.permission.C2D_MESSAGE" />
    <application>
      <receiver
            android:name="com.onesignal.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="com.codebee.tustpush" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

– เปิดไฟล์ตัวอย่างของ onesignal ไปที่ Assets/OneSignal/Example/GameControllerExample.cs
แก้ไข OneSignal.Init โดยพารามิเตอร์ตัวแรกให้เป็น OneSignal App ID ที่เราสมัครสมาชิกไว้
และตัวที่สองเป็น Google Sender ID ซึ่งได้จาก Google Project

OneSignal.Init("OneSignal App ID", "Google Sender ID", HandleNotification);

– เสร็จแล้วให้ลอง Build apk (android ) และ ipa (iOS) เปิดแอพขึ้นมาเพื่อทำการ register Push Token

– เข้าสู่ระบบที่ onesignal.com
เลือกแอพพลิเคชั่นที่เราสร้างไว้ กดปุ่ม New Message ใส่ Title และ Content กด Preview และ Send

– ถ้าไม่มีอะไรผิดพลาด ทั้งการ configuration ในเว็บของ onesignal และการติดตั้ง onesignal plugin
เราก็จะได้รับ notification

เราสามารถตั้งค่ารูปแบบการส่งได้ ทั้งรูปภาพ ข้อความ action ของการคลิก ตรวจสอบสถานะการส่ง
ส่งไปแล้วมีการคลิกเข้ามาดูหรือป่าว ซึ่ง onesignal มีการรายงานสถิติค่อนข้างละเอียด

สำหรับการใช้งาน onesignal นั้น เราที่ลองใช้งานดู ค่อนข้างจะสะดวกสบายครับ
เพราะมี documentation ให้เกือบทุกภาษา และแทบจะเกือบทุก Platform
มีรายละเอียดตั้งแต่การติดตั้ง และหากเราติดตั้งไม่ได้ เขามีบริการติดตั้งให้อีก
แถมยังส่งเมลมาถามว่าเราติดปัญหาอะไรอยู่เรื่อย ๆ อะไรจะใจดีปานนั้น

สามารถเข้าไปอ่านข้อมูลเพิ่มเติมได้ที่ https://documentation.onesignal.com/docs/

Exit mobile version