Bu sayfada, Ortak Android Bayi Kitaplığı ile gerçekleştirebileceğiniz bazı genel işlemlere örnekler verilmiştir. Örneğin:
ResellerService
nesneleri oluşturmaCustomer
nesneleri oluşturma- Bir cihaz grubu için hak talebinde bulunma
- Bir grup cihazın sahipliğini iptal etme
- Samsung cihaz değişimi
- Android (Samsung olmayan) cihaz değişimi
ResellerService
nesne oluşturun
ResellerService
nesneleri oluşturmak için Samsung ve Google fabrika sınıflarını kullanın.
ResellerService
nesneleri, Samsung ve diğer Android cihazları kaydettirmek için ortak bir yöntem grubu sağlar.
Samsung cihazlar
Aşağıdaki örnekte, Samsung cihazları yönetmek için SamsungResellerServiceFactory
sınıfı kullanılarak bir ResellerService
nesnesinin nasıl oluşturulacağı gösterilmektedir.
Bunu yapabilmek için Knox Dağıtım Programı'na (KDP) kaydolmanız gerekir.
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Diğer Android cihazlar
Aşağıdaki örnekte, diğer (Samsung olmayan) Android cihazları yönetmek için GoogleResellerServiceFactory
sınıfı kullanılarak nasıl ResellerService
nesnesi oluşturulacağı gösterilmektedir. Bunu yapabilmek için resellerId
ve hizmet hesabı anahtarınızı almak üzere El değmeden kayıt için başlangıç bölümündeki adımları uygulamanız gerekir.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Customer
nesneleri oluşturma
Samsung ve Samsung olmayan cihaz satın alan bir müşterinin iki müşteri kimliği olması gerekir.
Samsung cihazlar
Samsung cihazları yönetmek için müşterinin Knox müşteri kimliğini kullanırsınız. Knox Müşteri Kimliği'ni almak için önce bir Customer
nesnesi oluşturmanız gerekir. Bunun için, SamsungResellerServiceFactory
'den oluşturulan bir SamsungResellerService
kullanarak createCustomer
'ü arayın. Aşağıda bununla ilgili bir örnek verilmiştir:
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer") .addPrimaryEmails("superAdmin@gmail.com")
.putVendorParams("country", "US") .putVendorParams("firstName", "Avery")
.putVendorParams("lastName", "Yamada") .putVendorParams("service", "KME")
.build();
CreateCustomerResponse response = samsungResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
İstek başarılı olursa Knox müşteri kimliğini alabileceğiniz bir CreateCustomerResponse
nesnesi döndürür.
Diğer Android cihazlar
Diğer Android cihazlar için müşterinin el değmeden kayıt müşteri kimliği gerekir. Bir müşteri zaten başka bir bayide el değmeden kayıt özelliğini kullanıyorsa müşterinin mevcut müşteri kimliğini kullanırsınız. Aksi takdirde, bir Customer
nesnesi oluşturmanız gerekir. Bunu yapmak için GoogleResellerServiceFactory
'den oluşturulan bir ResellerService
kullanarak createCustomer
'ü arayın. Örnek:
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer")
.addPrimaryEmails("owner@gmail.com")
.addSecondaryEmails("admin@gmail.com")
.build();
CreateCustomerResponse response = googleResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
Başarılı olursa istek bir CreateCustomerResponse
nesnesi döndürür. Yanıttan müşteri kimliğini alabilirsiniz.
Bir cihaz grubu için hak talebinde bulunma
Cihaz için hak talebinde bulunmak, cihaz ile müşteri arasında bir ilişkilendirme oluşturur. Örneğin, bir müşteriye bir grup cihaz satarsanız söz konusu müşteri için cihazları talep edersiniz.
Bu örnekte, birden fazla müşteriden gelen birden fazla üreticinin (Samsung ve diğer Android cihazlar) cihaz siparişlerini içeren bir cihaz grubunu işleme yöntemlerinden biri gösterilmektedir.
1. adım: Cihazları ve müşterileri düzenleyin
Cihaz IMEI'leri, üreticileri ve cihazların satıldığı müşterilerin kimliklerinin yer aldığı bir tablo varsa siparişleri yönetmenin bir yolu, bunları iki listeye ayırmaktır: Samsung cihaz siparişleri ve diğer Android (Samsung harici) cihaz siparişleri. Daha sonra, her liste için cihazları müşteriye göre gruplandırın. Örneğin:
Samsung cihazlar
Müşteri adı | Samsung Knox müşteri kimliği | Üretici | IMEI |
---|---|---|---|
ABC corp | 11 |
Samsung |
|
Diğer Android cihazlar
Müşteri adı | Müşteri Kimliği | Üretici | IMEI |
---|---|---|---|
ABC corp | 21 |
Google |
1234567803 |
XYZ şirketi | 22 |
Sony |
|
2. adım: ClaimDevicesRequest
nesnesi oluşturun
Samsung cihazlar
// Note: You can only claim devices for a single customer in each request.
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.setManufacturer("Samsung")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.setManufacturer("Samsung")
.build())
.build())
.build();
Diğer Android cihazlar
ClaimDevicesRequest claimGoogleDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.setManufacturer("Google")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.setManufacturer("Sony")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.setManufacturer("Sony")
.build())
.build())
.build();
3. adım: Müşteriler için cihaz talep edin
Müşteriler için cihaz talep etmek istiyorsanız ClaimDevicesAsync
numaralı telefonu arayın. Bu örnek için iki ayrı istek gerekir: biri Samsung ResellerService
nesnesinden, diğeri Google ResellerService
nesnesinden.
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
ClaimDevicesAsync
isteği, isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız) içeren Operation
nesne listesini döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürüldüyse) getOperation
işlevini çağırın.
// Samsung devices
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
// Other Android devices
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Bir cihaz grubu için hak talebini iptal etme
Cihazın sahipliğini iptal ettiğinizde cihazın müşteriyle ilişkisi kaldırılır. Cihaz siparişi iptal edilirse veya cihazların gönderimi başarıyla tamamlanamazsa cihaz için hak talebini iptal etmeniz gerekebilir. Bir cihaz grubu için hak talebini iptal etmek istiyorsanız şu adımları uygulayın:
1. Adım: UnclaimDevicesRequest
nesnesini oluşturun
Samsung cihazlar
// Each request can only unclaim devices belonging to a single customer. The request must also
// include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.build())
.build())
.build();
Diğer Android cihazlar
UnclaimDevicesRequest unclaimGoogleDevicesRequest = UnclaimDevicesRequest.newBuilder()
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.build())
.build())
.build();
2. Adım: Cihazların sahipliğini iptal edin
Cihazlar üzerinde hak talebini iptal etmek için UnclaimDevicesAsync
numaralı telefonu arayın. Bu örnekte, biri Samsung ResellerService
nesnesinden, diğeri de Google ResellerService
nesnesinden olmak üzere iki ayrı istek gerekmektedir.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
UnclaimDevicesAsync
isteği, isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız oldu) içeren bir Operation
nesnesi listesi döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürüldüyse) getOperation
işlevini çağırın.
Samsung cihazlar
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Diğer Android cihazlar
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Samsung cihaz değişimi
Herhangi bir nedenle değiştirilmesi gereken cihazı değiştirebilirsiniz. Bu örnekte, bir Samsung cihazı başka bir Samsung cihazla değiştirdiğiniz varsayılmaktadır.
1. adım: UnclaimDeviceRequest
nesnesi oluşturun
// Note: The request must include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.build();
2. adım: UnclaimDeviceAsync
numaralı telefonu arayın
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesAsync
isteği, isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız) içeren bir Operation
nesnesi listesi döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
çağrısı yapın:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
3. Adım: ClaimDeviceRequest
nesnesi oluşturun
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567806")
.setManufacturer("Samsung")
.build())
.build())
.build();
4. adım: ClaimDeviceAsync
numaralı telefonu arayın
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
ClaimDevicesAsync
isteği, isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız) içeren bir Operation
nesnesi listesi döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
çağrısı yapın:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Android (Samsung harici) cihaz değişimi
Bir cihazın herhangi bir nedenle değiştirilmesi gerekiyorsa cihazı takas edebilirsiniz. Bu örnekte, bir Android (Samsung olmayan) cihazı başka bir Android (Samsung olmayan) cihazla değiştirdiğiniz varsayılmaktadır.
1. Adım: UnclaimDeviceRequest
nesnesi oluşturun
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
2. adım: UnclaimDevice
numaralı telefonu arayın
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
3. Adım: Bir ClaimDeviceRequest
nesnesi oluşturun
ClaimDeviceRequest claimGoogleDeviceRequest = ClaimDeviceRequest.newBuilder()
.setClaim(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567807")
.setManufacturer("Google")
.build())
.build())
.build();
4. adım: ClaimDevice
numaralı telefonu arayın
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
Başarılı olursa çağrı, deviceId
öğesini içeren bir ClaimDeviceResponse
nesnesi döndürür. Aksi takdirde, hata kodu içeren yaygın bir istisna atar.