Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan langkah demi langkah ini untuk pihak pertama dan ketiga ini memberikan gambaran umum terperinci tentang cara mengintegrasikan kelangsungan aplikasi (lanjutkan) dengan pemberitahuan mentah Windows Push Notification Service (WNS). Ini termasuk prasyarat, referensi ke dokumentasi publik yang relevan, dan cuplikan kode untuk membuat permintaan POST ke URI saluran.
Melanjutkan Proses Onboarding di Windows
Resume adalah Fitur Akses Terbatas (LAF). Untuk mendapatkan akses ke fitur ini, Anda perlu mendapatkan persetujuan dari Microsoft untuk mengaktifkan aplikasi Anda di Windows.
Untuk meminta akses, kirim email wincrossdeviceapi@microsoft.com dengan informasi berikut:
- Cek status pendaftaran WNS aplikasi Anda dan tampilkan "Package SID" aplikasi Anda.
- Deskripsi pengalaman pengguna Anda.
- Cuplikan layar aplikasi Anda di mana pengguna melakukan tindakan yang dapat dilanjutkan pada PC Windows mereka.
Jika Microsoft menyetujui permintaan Anda, Anda menerima instruksi tentang cara membuka kunci fitur. Persetujuan didasarkan pada komunikasi Anda.
Prasyarat
Sebelum melanjutkan integrasi, pastikan tugas berikut selesai:
- Daftarkan Aplikasi dengan Windows Push Notification Service (WNS): Anda harus mendaftarkan aplikasi Anda dengan WNS untuk menerima pemberitahuan. Lihat Kirim pemberitahuan ke aplikasi Platform Windows Universal menggunakan Azure Notification Hubs untuk informasi selengkapnya.
- Dapatkan Kredensial Akses: Memperoleh Pengidentifikasi Keamanan Paket (SID) dan rahasia klien dari portal Azure.
- Mengonfigurasi URI Saluran: Pastikan aplikasi dapat meminta dan menyimpan URI saluran untuk pemberitahuan. Lihat Cara meminta, membuat, dan menyimpan saluran pemberitahuan untuk informasi selengkapnya.
- Pemberitahuan WNS menggunakan payload XML untuk transmisi. Lihat Konten pemberitahuan aplikasi untuk informasi selengkapnya. Untuk Resume, kami menggunakan pemberitahuan mentah. Pastikan aplikasi Windows Anda mendukung payload yang terkait dengan pemberitahuan wns/raw. Lihat Gambaran umum pemberitahuan asli untuk informasi selengkapnya.
Langkah penerapan
Langkah-langkah berikut menguraikan proses untuk mengintegrasikan kelangsungan aplikasi menggunakan pemberitahuan mentah WNS.
Langkah 1 - Mengonfigurasi URI saluran
Konfigurasikan URI Saluran dari aplikasi Windows Anda dan kirimkan ke server aplikasi Anda: Pastikan aplikasi dapat meminta dan menyimpan URI saluran untuk pemberitahuan. Untuk informasi selengkapnya, lihat Cara meminta, membuat, dan menyimpan saluran pemberitahuan.
Langkah 2 - Memulai skenario melanjutkan
Dari aplikasi seluler Anda, panggil API layanan aplikasi yang diperlukan untuk memulai permintaan resume berbasis WNS.
Langkah 3 - Siapkan permintaan HTTP
Ketika server aplikasi menerima permintaan API dari klien seluler, server aplikasi menyiapkan permintaan POST ke URI saluran WNS. Permintaan harus menyertakan header yang diperlukan, seperti Otorisasi, Jenis Konten, dan Tipe X-WNS. Untuk menambahkan header baru Anda, sertakan dalam konfigurasi header permintaan.
Langkah 3.1 - Contoh untuk mengirim permintaan resume POST
Cuplikan kode berikut menunjukkan cara mengirim pemberitahuan WNS baru dengan header resume dengan menggunakan Python dan JavaScript.
Cuplikan kode Python berikut menunjukkan cara mengirim pemberitahuan mentah WNS dengan header yang diperlukan untuk kelangsungan aplikasi:
import requests
# Define the channel URI
channel_uri = "[URL]"
# Define the notification payload
payload = """
Sample Notification
This is a sample message
"""
# Define the headers
headers = {
"Content-Type": "application/octet-stream",
"X-WNS-Type": "wns/raw",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"X-WNS-RawNotificationType": "wns/raw/resume",
"X-WNS-ResumeMetadata": {"title":"Continue call from…","expiry":"300", "type":"1"},
}
# Send the POST request
response = requests.post(channel_uri, data=payload, headers=headers)
# Print the response status
print(f"Response Status: {response.status_code}")
print(f"Response Body: {response.text}")
Cuplikan kode JavaScript berikut menunjukkan cara mengirim pemberitahuan mentah WNS dengan header yang diperlukan untuk kelangsungan aplikasi:
const axios = require('axios');
// Define the channel URI
const channelUri = "[URL]";
// Define the notification payload
const payload = `Sample Notification
This is a sample message`;
// Define the headers
const headers = {
"Content-Type": "application/octet-stream",
"X-WNS-Type": "wns/raw",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"X-WNS-RawNotificationType": "wns/raw/resume",
"X-WNS-ResumeMetadata": JSON.stringify({
title: "Continue call from…",
expiry: "300",
type: "1"
})
};
// Send the POST request
axios.post(channelUri, payload, { headers })
.then(response => {
console.log(`Response Status: ${response.status}`);
console.log(`Response Body: ${response.data}`);
})
.catch(error => {
console.error(`Error Status: ${error.response?.status}`);
console.error(`Error Body: ${error.response?.data}`);
});
Header "X-WNS-RawNotificationType" menentukan jenis pemberitahuan mentah yang Anda kirim. Anda biasanya tidak perlu menyertakan header ini, tetapi membantu Anda mengategorikan pemberitahuan untuk tujuan yang berbeda, seperti "Lanjutkan". Nilai yang mungkin untuk header ini mungkin mencakup jenis seperti "wns/raw/resume," yang menandakan kelanjutan aplikasi dari Windows.
Header "X-WNS-ResumeMetadata" menyediakan metadata tentang pemberitahuan resume yang Anda kirim. Meskipun tidak diperlukan secara ketat, pemberitahuan akan ditingkatkan dengan menambahkan informasi seperti judul atau waktu kedaluwarsa. Anda meneruskan metadata sebagai objek JSON/Kamus (jenis lain menghasilkan pengecualian validasi) dan dapat menyertakan atribut seperti:
- judul: Judul deskriptif untuk pemberitahuan (misalnya, "Lanjutkan panggilan dari...").
- kedaluwarsa: Masa pakai pemberitahuan dalam hitungan detik (misalnya, "300" selama 5 menit).
- jenis: Jenis pemberitahuan - 1 untuk permintaan resume baru, 2 untuk dihapus (tidak ada tindakan jika hilang).
Cuplikan kode JavaScript berikut menunjukkan cara mengirim pemberitahuan mentah WNS dengan header yang diperlukan untuk memperbarui pemberitahuan resume:
const axios = require('axios');
// Define the channel URI
const channelUri = "[URL]";
// Define the notification payload
const payload = `Sample Notification
This is a sample message`;
// Define the headers
const headers = {
"Content-Type": "application/octet-stream",
"X-WNS-Type": "wns/raw",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"X-WNS-RawNotificationType": "wns/raw/resume",
"X-WNS-ResumeMetadata": JSON.stringify({
title: "Continue call from…",
expiry: "300",
type: "2" // 2-represents update type.
})
};
// Send the POST request
axios.post(channelUri, payload, { headers })
.then(response => {
console.log(`Response Status: ${response.status}`);
console.log(`Response Body: ${response.data}`);
})
.catch(error => {
console.error(`Error Status: ${error.response?.status}`);
console.error(`Error Body: ${error.response?.data}`);
});
Cuplikan kode JavaScript berikut menunjukkan cara mengirim pemberitahuan mentah WNS dengan header yang diperlukan untuk menghapus pemberitahuan resume:
const axios = require('axios');
// Define the channel URI
const channelUri = "[URL]";
// Define the notification payload
const payload = `Sample Notification
This is a sample message`;
// Define the headers
const headers = {
"Content-Type": "application/octet-stream",
"X-WNS-Type": "wns/raw",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"X-WNS-RawNotificationType": "wns/raw/resume",
"X-WNS-ResumeMetadata": JSON.stringify({
title: "Continue call from…",
expiry: "300",
type: "3" // 3-represents delete type.
})
};
// Send the POST request
axios.post(channelUri, payload, { headers })
.then(response => {
console.log(`Response Status: ${response.status}`);
console.log(`Response Body: ${response.data}`);
})
.catch(error => {
console.error(`Error Status: ${error.response?.status}`);
console.error(`Error Body: ${error.response?.data}`);
});
Kedua header menawarkan fleksibilitas dalam menyesuaikan pemberitahuan mentah agar sesuai dengan persyaratan fungsi aplikasi.
Langkah 4 - Memvalidasi implementasi
Pastikan aplikasi Anda berhasil mengatur pemberitahuan dan pastikan bahwa header resume disertakan dalam permintaan POST. Anda dapat menggunakan alat seperti vscode REST Client, Postman, atau Fiddler untuk memeriksa permintaan dan respons HTTP.
Berikut adalah contoh pengiriman permintaan menggunakan ekstensi Visual Studio Code REST Client. Header X-WNS-RawNotificationType dan X-WNS-ResumeMetadata diperlukan untuk kelangsungan aplikasi:
POST {{channel_uri}}
Content-Type: application/octet-stream
X-WNS-Type: wns/raw
X-WNS-RequestForStatus: true
X-WNS-RawNotificationType: wns/raw/resume
X-WNS-ResumeMetadata: {"title": "Continue call from...", "expiry": "300", "type": "1"}
Authorization: Bearer {{bearer}}
[{"hello"}]
Respons dari klien VS Code REST ditampilkan dalam format yang sama dengan respons pemberitahuan yang ada. Untuk detail mengenai kode status, lihat tautan referensi: Kirim pemberitahuan asli Windows Push Notification Services (WNS).
Conclusion
Dengan mengikuti langkah-langkah yang diuraikan dalam panduan ini, pihak pertama dan ketiga dapat berhasil menambahkan header kustom ke pemberitahuan WNS. Pastikan Anda memenuhi semua prasyarat dan menguji secara menyeluruh untuk menjamin integrasi yang mulus.
Untuk setiap kueri atau bantuan mengenai implementasi, hubungi tim kami di hal berikut:
Email: wincrossdeviceapi@microsoft.com
Kami di sini untuk membantu memastikan proses integrasi yang lancar.
Konten terkait
- Gambaran umum pemberitahuan mentah
- Cara meminta, membuat, dan menyimpan saluran pemberitahuan
- Gambaran umum WNS - Kirim pemberitahuan ke aplikasi Platform Windows Universal menggunakan Azure Notification Hubs
Windows developer