Membuat atau menimpa penginstalan

Metode ini membuat atau menimpa penginstalan.

Minta

Metode Meminta URI Versi HTTP
PUT https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 HTTP/1.1

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header permintaan Deskripsi
Jenis-Konten aplikasi/json
Authorization Token yang dihasilkan sebagaimana ditentukan dalam Autentikasi Tanda Tangan Akses Bersama dengan Bus Layanan, atau autentikasi dan otorisasi Bus Layanan dengan Microsoft Azure Active Directory Access Control (juga dikenal sebagai Access Control Layanan atau ACS).
x-ms-version 2015-01

Bodi permintaan

Tabel berikut ini menjelaskan properti isi permintaan JSON untuk penginstalan:

Nama Jenis Diperlukan Baca-saja Deskripsi
installationId String Ya Tidak String pengidentifikasi unik global
userID String Tidak Tidak String kustom yang berisi kombinasi karakter alfanumerik dan -_@#.:=. Ada hubungan satu dengan banyak antara UserID dan ID Penginstalan (yaitu satu ID Pengguna dapat dikaitkan dengan beberapa penginstalan)
lastActiveOn String Tidak Ya Tanggal ketika penginstalan dibuat tidak aktif oleh PNS.
expirationTime String Tidak Ya String yang berisi tanggal dan waktu dalam W3C DTF, YYYY-MM-DDThh:mmTZD (misalnya, 1997-07-16T19:20+01:00)) tempat pendaftaran akan kedaluwarsa. Nilai dapat diatur pada tingkat hub saat membuat atau memperbarui, dan akan default untuk tidak pernah kedaluwarsa (9999-12-31T23:59:59).
lastUpdate String Diabaikan saat memperbarui. Dikembalikan saat membaca. Ya Tanggal dalam format W3C pembaruan terakhir untuk penginstalan ini.
platform String Ya Tidak Dapat berupa {APNS, WNS, MPNS, ADM, GCM}.
pushChannel String Ya Tidak Handel PNS untuk penginstalan ini (dalam kasus WNS ChannelUri dari ApplicationTile).
expiredPushChannel Boolean Diabaikan saat memperbarui. Dikembalikan saat membaca. Ya Ini benar jika PNS kedaluwarsa saluran.
tags Array string Tidak Tidak Array tag. Tag adalah string seperti yang didefinisikan dalam spesifikasi hub.
templates Objek JSON Tidak Tidak Objek JSON yang mewakili kamus templateNames ke deskripsi templat.
Template. {name} String Tidak Tidak Objek JSON yang mewakili templat.
Template. {name}.body String Ya, jika templat ada Tidak Templat untuk isi payload pemberitahuan.
Template. {name}.headers Objek JSON Nomor. Dapat hadir hanya jika platform adalah WNS atau MPNS. Tidak Objek JSON di mana setiap properti adalah nama header dan nilai adalah ekspresi templat.
Template. {name}.expiry String Nomor. Dapat hadir hanya jika platform adalah apn Tidak Ekspresi templat mengevaluasi dalam format tanggal W3D.
Template. {name}.tags Array string Tidak Tidak Array tag untuk templat ini.
sekunderTiles Objek JSON Nomor. Dapat hadir hanya jika platform adalah wns. Tidak Objek JSON yang berisi kamus objek tileId dan secondaryTiles.
secondaryTile. {tileId} Objek JSON Tidak Tidak Objek JSON dengan properti pendorongan untuk petak sekunder.
secondaryTile. {tileId}.pushChannel String Ya, jika tileId ada Tidak ChannelUri untuk petak sekunder.
secondaryTile. {tileId}.tags Array string Tidak Tidak Tag untuk pemberitahuan asli ke petak sekunder.
secondaryTile. {tileId}.templates Objek JSON Tidak Tidak Sama seperti properti templat tetapi untuk setiap petak sekunder.

Perhatikan poin-poin berikut:

  • Dalam JSON, urutan elemen tidak penting.
  • Isi templat harus JSON untuk APNS, GCM, ADM.
  • Isi templat harus XML untuk WNS dan MPNS (kecuali saat mentah).
  • Templat untuk WNS harus menyertakan header X-WNS-Type.
  • Templat untuk MPNS harus memiliki header yang kompatibel seperti yang disebutkan dalam Mengirim pemberitahuan push untuk Windows Phone 8.

Beberapa contoh JSON mengikuti.

Contoh untuk mendaftar dengan APNS:

{ 
    "installationId": "12234", 
    "userID": "MyAmazingUser",
    "tags": ["foo", "bar"], 
    "platform": "apns", 
    "pushChannel": "ABCDEF-123456-…" 
}  

Catatan

Elemen Tag bersifat opsional.

Contoh untuk mendaftar secara asli dengan WNS termasuk templat dan tanpa tag:

{ 
    "installationId": "12234", 
    "userID": "MyAmazingUser",
    "platform": "wns", 
    "pushChannel": "https://db3...", 
    "templates": { 
        "myTemplate" : { 
            body : '<toast><visual lang="en-US"><binding template="ToastTest01"><text id="1">$myTextProp1</text></binding></visual></tile>',
            headers: { "X-WNS-Type": "wns/toast" }, 
            "tags": ["foo", "bar"] 
            } 

        } 
}  

Daftar kerangka dari banyak elemen yang mungkin

{ 
    installationId: "", 
    userID: "",
    expirationTime: "", 
    tags: ["foo", "bar"],
    lastUpdate: “”, 
    user: "", 
    advertisingId: "", 
    appId: "" 
    platform: "", 
    pushChannel: "", 

    templates: { 
        "templateName1" : { 
            body: "", 
            headers: { "X-WNS-Type": "wns/tile" }, 
            expiration: "",
            tags: ["foo", "bar"] 
            } 
        } 

    secondaryTiles: { 
        "tileId1": { 
            pushChannel: "", 
            tags: ["foo", "bar"], 

            templates: { 
                "otherTemplate": { 
                    bodyTemplate: "", 
                    headers: { ... }, 
                    tags: ["foo"] 
                    } 
                } 
            } 
        }
}  

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode respons

Kode Deskripsi
200 Penginstalan berhasil diantrekan dan akan diproses di latar belakang..
400 Penginstalan tidak dapat dibuat/ditimpa karena permintaan salah bentuk.
401 Kegagalan otorisasi. Kunci akses salah.
403 Terlalu banyak penginstalan di namespace layanan ini - Penginstalan tidak dibuat.

Untuk informasi tentang kode status, lihat Status dan Kode Kesalahan.

Header respons

Header respons Deskripsi
Jenis konten application/json
Lokasi Konten Lokasi penginstalan dalam format: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId>

Isi Respons

Tidak ada.

Lihat juga

Membaca penginstalan
Memperbarui penginstalan menurut ID Penginstalan
Menghapus penginstalan