Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Birinci ve üçüncü taraflara yönelik bu adım adım kılavuz, uygulama sürekliliğini (özgeçmiş) Windows Anında İletilen Bildirim Hizmeti (WNS) ham bildirimleriyle tümleştirme hakkında ayrıntılı bir genel bakış sağlar. Kanal URI'sine POST istekleri göndermek için önkoşullar, ilgili genel belgelere başvurular ve kod parçacıkları içerir.
Windows'ta Onboardinge Devam Etme
Özgeçmiş, Sınırlı Erişim Özelliğidir (LAF). Bu özelliğe erişmek için Uygulamanızı Windows'da etkinleştirmek için Microsoft'tan onay almanız gerekir.
Erişim istemek için aşağıdaki bilgileri içeren e-posta gönderin wincrossdeviceapi@microsoft.com :
- Uygulamanızın WNS kaydının durumu ve uygulamanızın "Paket SID'sini" sağlayın.
- Kullanıcı deneyiminizin açıklaması.
- Kullanıcının Windows bilgisayarında sürdürülebilecek bir eylem gerçekleştirdiği uygulamanızın ekran görüntüsü.
Microsoft isteğinizi onaylarsa özelliğin kilidini açma yönergelerini alırsınız. Onaylar iletişiminizi temel alır.
Önkoşullar
Tümleştirmeye devam etmeden önce aşağıdaki görevlerin tamamlandığından emin olun:
- Uygulamayı Windows Anında İletme Bildirimi Hizmeti'ne (WNS) kaydetme: Bildirim almak için uygulamanızı WNS'ye kaydetmeniz gerekir. Daha fazla bilgi için bkz. Azure Notification Hubs kullanarak Evrensel Windows Platformu uygulamalarına bildirim gönderme .
- Erişim Kimlik Bilgilerinin Alınması: Azure portalından Paket Güvenlik Tanımlayıcısı (SID) ve istemci gizli anahtarını alın.
- Kanal URI'sini yapılandırın: Uygulamanın bildirimler için kanal URI'sini isteye ve depolayabilmesini sağlayın. Daha fazla bilgi için bkz. Bildirim kanalı isteme, oluşturma ve kaydetme .
- WNS bildirimleri, iletim için XML yüklerini kullanır. Daha fazla bilgi için bkz. Uygulama bildirimi içeriği . Özgeçmiş için ham bildirimler kullanıyoruz. Windows uygulamanızın wns/raw bildirimiyle ilişkili yükü desteklediğine emin olun. Daha fazla bilgi için bkz . Ham bildirime genel bakış .
Uygulama adımları
Aşağıdaki adımlarda, WNS ham bildirimlerini kullanarak uygulama sürekliliğini tümleştirme işlemi özetlenmiştir.
1. Adım - Kanal URI'sini yapılandırma
Windows uygulamanızdan Kanal URI'sini yapılandırın ve uygulama sunucunuza gönderin: Uygulamanın bildirimler için kanal URI'sini isteye ve depolayabilmesini sağlayın. Daha fazla bilgi için bkz. Bildirim kanalı isteme, oluşturma ve kaydetme.
2. Adım - Özgeçmiş senaryosu başlatma
Mobil uygulamanızdan WNS tabanlı özgeçmiş isteğini başlatmak için gerekli uygulama hizmeti API'sini çağırın.
3. Adım - HTTP isteğini ayarlama
Uygulama sunucusu mobil istemciden API isteğini aldığında, WNS kanalı URI'sine POST isteğini hazırlar. İstek Yetkilendirme, İçerik Türü ve X-WNS-Type gibi gerekli üst bilgileri içermelidir. Yeni başlığınızı eklemek için, istek üst bilgisi ayarlarına ekleyin.
Adım 3.1 - Özgeçmiş POST isteği gönderme örneği
Aşağıdaki kod parçacıkları, Python ve JavaScript kullanarak özgeçmiş üst bilgisi içeren yeni bir WNS bildirimi göndermeyi gösterir.
Aşağıdaki Python kod parçacığı, uygulama sürekliliği için gerekli üst bilgileri içeren bir WNS ham bildiriminin nasıl gönderılacağını gösterir:
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}")
Aşağıdaki JavaScript kod parçacığı, uygulama sürekliliği için gerekli üst bilgileri içeren bir WNS ham bildirimi göndermeyi gösterir:
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}`);
});
"X-WNS-RawNotificationType" üst bilgisi, gönderdiğiniz ham bildirimin türünü belirtir. Genellikle bu üst bilgiyi eklemeniz gerekmez, ancak bildirimi "Özgeçmiş" gibi farklı amaçlarla kategorilere ayırmanıza yardımcı olur. Bu üst bilgi için olası değerler, Windows'tan uygulama devamı sinyali veren "wns/raw/resume" gibi türleri içerebilir.
"X-WNS-ResumeMetadata" üst bilgisi, gönderdiğiniz özgeçmiş bildirimi hakkında meta veriler sağlar. Tam olarak gerekli olmasa da, başlık veya süre sonu gibi bilgiler ekleyerek bildirimi geliştirir. Meta verileri bir JSON/Dictionary nesnesi olarak geçirirsiniz (başka herhangi bir tür doğrulama özel durumu oluşturur) ve aşağıdaki gibi alanlar içerebilir:
- title: Bildirim için açıklayıcı bir başlık (örneğin, "Aramaya devam et...").
- süre sonu: Bildirimin saniye cinsinden kullanım ömrü (örneğin, 5 dakika boyunca "300").
- tür: Bildirim türü - Yeni özgeçmiş isteği için 1, silme için 2 (eksikse eylem yok).
Aşağıdaki JavaScript kod parçacığı, özgeçmiş bildirimini güncelleştirmek için gerekli üst bilgileri içeren bir WNS ham bildirimi göndermeyi gösterir:
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}`);
});
Aşağıdaki JavaScript kod parçacığı, özgeçmiş bildirimini silmek için gerekli üst bilgilerle WNS ham bildirimi göndermeyi gösterir:
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}`);
});
Her iki üst bilgi de ham bildirimleri uygulamanın işlevsel gereksinimlerine uyacak şekilde uyarlama esnekliği sunar.
4. Adım - Uygulamayı doğrulama
Uygulamanızın bildirimlere başarıyla kaydolduğunu ve özgeçmiş üst bilgilerinin POST isteğine eklendiğinden emin olun. HTTP isteğini ve yanıtını incelemek için vscode REST İstemcisi, Postman veya Fiddler gibi araçları kullanabilirsiniz.
Visual Studio Code REST İstemci uzantısını kullanarak istek gönderme örneği aşağıda verilmiştir.
X-WNS-RawNotificationType ve X-WNS-ResumeMetadata üst bilgileri, uygulama sürekliliği için gereklidir.
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"}]
VS Code REST istemcisinden gelen yanıt, mevcut bildirim yanıtlarıyla aynı biçimde görüntülenir. Durum kodlarıyla ilgili ayrıntılar için başvuru bağlantısına bakın: Windows Anında İletme Bildirimi Hizmetleri (WNS) yerel bildirimi gönderme.
Sonuç
Bu kılavuzda açıklanan adımları izleyerek, birinci ve üçüncü taraflar WNS bildirimlerine özel üst bilgileri başarıyla ekleyebilir. Tüm önkoşulları yerine getirdiğinizden emin olun ve sorunsuz tümleştirmeyi garanti etmek için kapsamlı bir şekilde test edin.
Uygulamayla ilgili tüm sorgular veya yardım için aşağıdakilerden ekibimize başvurun:
E-posta: wincrossdeviceapi@microsoft.com
Sorunsuz bir tümleştirme süreci sağlamaya yardımcı olmak için buradayız.
İlgili içerik
Windows developer