全部产品
Search
文档中心

IoT Platform:Verifikasi dan sambungkan perangkat

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menginisialisasi Link SDK untuk iOS guna membangun koneksi antara perangkat dan IoT Platform.

Informasi latar belakang

Link SDK untuk iOS hanya mendukung metode verifikasi sertifikat-unik-per-perangkat. Untuk informasi lebih lanjut, lihat Verifikasi Sertifikat-Unik-Per-Perangkat.

Inisialisasi IoT Platform SDK untuk Java

Contoh kode:

#import <IotLinkKit/IotLinkKit.h>

    // Sebelum Anda menginisialisasi SDK, Anda harus membuat pendengar untuk memantau perubahan status koneksi persisten.
    [[LinkKitEntry sharedKit] registerChannelListener:self];

    //// Tentukan informasi sertifikat perangkat.
    self.productKey = self.textFieldProductKey.text ;
    self.deviceName = self.textFieldDeviceName.text ;
    self.deviceSecret = self.textFieldDeviceSecret.text;

    LinkkitChannelConfig * channelConfig = [[LinkkitChannelConfig alloc] init];
    channelConfig.productKey = self.productKey;
    channelConfig.deviceName = self.deviceName;
    channelConfig.deviceSecret = self.deviceSecret;
    channelConfig.cleanSession = (self.cleanSession == 1);
    //channelConfig.server = @"your custom server url";
    //channelConfig.port = 1883;
    LinkkitSetupParams * setupParams = [[LinkkitSetupParams alloc] init];
    setupParams.appVersion = self.appVersion;
    setupParams.channelConfig = channelConfig;
    [[LinkKitEntry sharedKit] setup:setupParams resultBlock:^(BOOL succeeded, NSError * _Nullable error) {
        LinkkitLogDebug(@"setup error : %@", error);
        dispatch_async(dispatch_get_main_queue(), ^{
            [self ims_showHUDWithMessage:[NSString stringWithFormat:@ "Inisialisasi :%@",
                                          succeeded ? @ "Berhasil" : @ "Gagal"]];
        });
    }];
            
Penting
  • Setelah Anda menginisialisasi SDK, resultBlock akan dikembalikan terlepas dari apakah koneksi Message Queuing Telemetry Transport (MQTT) persisten telah dibuat atau tidak.

  • Anda dapat memanggil fungsi [[LinkKitEntry sharedKit] registerChannelListener:self] untuk memeriksa apakah koneksi persisten telah dibuat berdasarkan hasil yang dikembalikan oleh fungsi callback [onConnectStateChange:state:].

Parameter

Parameter

Contoh

Deskripsi

productKey

a18wP******

Anda dapat melihat sertifikat perangkat di halaman Device Details di konsol IoT Platform. Untuk informasi lebih lanjut, lihat Dapatkan informasi verifikasi perangkat.

deviceName

LightSwitch

deviceSecret

uwMTmVAMnGGHaAkqmeDY6cHxxB******

server

a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com

Titik akhir ke mana Anda ingin menyambungkan perangkat.

  • Jika Anda menggunakan instansi publik versi sebelumnya, titik akhir instansi publik tersebut dalam format ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

Deinisialisasi SDK

Sebelum men-deinisialisasi SDK, tutup koneksi MQTT persisten antara perangkat dan IoT Platform. Untuk men-deinisialisasi SDK, panggil operasi API berikut.

    [[LinkKitEntry sharedKit] destroy:^(BOOL succeeded, NSError * _Nullable error) {
        LinkkitLogDebug(@"kit destroy error : %@", error);
        dispatch_async(dispatch_get_main_queue(), ^{
            [self ims_showHUDWithMessage:[NSString stringWithFormat:@ "Deinisialisasi: %@",
                                          succeeded ? @ "Berhasil" : @ "Gagal"]];
        });
    }];
            

Saklar log

Aktifkan saklar keluaran log internal SDK:


#import <IMSLog/IMSLog.h>

NSString * const IMS_DEMO_TAG = @"LinkkitDemo";

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Tambahkan kode berikut untuk mengaktifkan fitur logging.
    [IMSLog setAllTagsLevel:IMSLogLevelAll];
    // Buat panel log dan tambahkan ke kerangka log.
    //[IMSLog addAssistant:[[IMSDashboardLogAssistant alloc] init]];
    // Aktifkan log agar ditampilkan di konsol.
    [IMSLog showInConsole:YES];
    // Tentukan tag log.
    [IMSLog registerTag:IMS_DEMO_TAG];

    return YES;
}
            

Buat pendengar untuk memantau perubahan status koneksi MQTT persisten.

Contoh kode:

- (void)onConnectStateChange:(nonnull NSString *)connectId state:(LinkkitChannelConnectState)state {
    NSString * connectTip = nil;
    if (state == LinkkitChannelStateConnected) {
        connectTip = @ "Terkoneksi";
    } else if (state == LinkkitChannelStateDisconnected) {
        connectTip = @ "Tidak terkoneksi";
    } else {
        connectTip = @ "Menghubungkan";
    }
    dispatch_async(dispatch_get_main_queue(), ^{
        self.labelConnectState.text = connectTip;
    });
}

- (void)onNotify:(nonnull NSString *)connectId topic:(nonnull NSString *)topic data:(id _Nullable)data {
    NSString * downData = [NSString stringWithFormat:@ "Data yang didorong diterima, topik :%@ \r\n", topic];
    downData = [downData stringByAppendingString:[NSString stringWithFormat:@ "\r \ndata :%@", data]];

    LinkkitLogDebug(@"kit recv  topik : %@", topic);

    dispatch_async(dispatch_get_main_queue(), ^{
        self.textViewDownData.text = downData;
    });
}

- (BOOL)shouldHandle:(nonnull NSString *)connectId 
               topic:(nonnull NSString *)topic {
    return YES;
}