Bu sayfada, Ortak Android Bayi Kitaplığı ile gerçekleştirebileceğiniz bazı yaygın işlemlere örnekler verilmiştir:
ResellerService
nesne oluşturmaCustomer
nesne oluşturma- Bir cihaz grubu için hak talebinde bulunma
- Bir grup cihazın sahipliğini kaldırma
- Samsung cihazı değiştirme
- Android (Samsung harici) bir cihazı değiştirme
ResellerService
nesneleri oluşturun
ResellerService
nesneleri oluşturmak için Samsung ve Google fabrika sınıflarını kullanın.
ResellerService
nesneleriyle, Samsung ve diğer Android cihazları kaydettirmek için yaygın olarak kullanılan bir dizi yöntem vardır.
Samsung cihazlar
Aşağıdaki örnekte, Samsung cihazları yönetmek için SamsungResellerServiceFactory
sınıfını kullanarak nasıl ResellerService
nesnesi oluşturulacağı açıklanmaktadır.
Bunu yapabilmek için Knox Deployment Program'a (KDP) katılmanız gerekir.
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Diğer Android cihazlar
Aşağıdaki örnekte, (Samsung harici) diğer Android cihazları yönetmek için GoogleResellerServiceFactory
sınıfını kullanarak nasıl ResellerService
nesnesi oluşturulacağı açıklanmaktadır. Bunu yapmadan önce resellerId
ve hizmet hesabı anahtarınızı almak için 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şturun
Samsung ve Samsung olmayan cihazları satın alan bir müşterinin iki müşteri kimliği olmalıdır.
Samsung cihazlar
Samsung cihazları yönetmek için müşterinin Knox Müşteri Kimliğini kullanırsınız. Knox Müşteri Kimliğini almak için önce bir Customer
nesnesi oluşturmanız gerekir. Bunun için SamsungResellerServiceFactory
üzerinden oluşturulan bir SamsungResellerService
aracılığıyla createCustomer
numarasını 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 istek, Knox Müşteri Kimliğini ayıklayabileceğiniz bir CreateCustomerResponse
nesnesi döndürür.
Diğer Android cihazlar
Müşteri, diğer Android cihazlarda el değmeden kayıt için
müşteri kimliği gerektirir. Bir müşteri zaten başka bir bayiyle el değmeden kayıt
kullanıyorsa mevcut müşteri kimliğini kullanırsınız. Aksi takdirde, bir Customer
nesnesi oluşturmanız gerekir. Bunun için, GoogleResellerServiceFactory
ile oluşturulan bir ResellerService
kullanarak createCustomer
işlevini çağırı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();
İstek 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
Bir cihaz üzerinde hak talebinde bulunulduğunda, cihaz ve müşteri arasında bir ilişkilendirme oluşturulur. Örneğin, bir müşteriye bir grup cihaz satıyorsanız bu müşteri için cihazları talep edersiniz.
Bu örnekte, birden fazla üreticiden (Samsung ve diğer Android cihazlar) birden fazla müşterinin cihaz sıralamalarını içeren bir cihaz grubu işleme yöntemi gösterilmektedir.
1. Adım: Cihazları ve müşterileri düzenleyin
Cihazların satıldığı cihazların IMEI, üretici ve kimliklerinin tablosu göz önüne alındığında, siparişleri yönetmenin iki yolu vardır: Samsung cihaz siparişleri ve diğer Android (Samsung harici) cihaz siparişleri. Ardından, 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 şirketi | 11 |
Samsung |
|
Diğer Android cihazlar
Müşteri adı | Müşteri Kimliği | Üretici | IMEI |
---|---|---|---|
ABC şirketi | 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 cihazlar üzerinde hak talebinde bulunun
Cihazlarınızı talep etmek için ClaimDevicesAsync
numaralı telefonu arayın. Bu örneklerde iki ayrı istek gereklidir: 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 içeren (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız oldu) Operation
nesnelerinin listesini döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
numaralı telefonu arayı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 talebinde bulunma
Bir cihazın hak talebinin iptal edilmesi, müşterinin müşteriyle ilişkisini kaldırır. Bir cihaz siparişi iptal edilirse veya cihaz gönderimi başarıyla tamamlanamazsa cihazın hak talebini iptal etmeniz gerekebilir. Bir cihaz grubunun talebini kaldırmak için aşağıdaki adımları uygulayın:
1. Adım: UnclaimDevicesRequest
nesnesi 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 hak talebini iptal edin
Cihazların hak talebini iptal etmek için UnclaimDevicesAsync
numaralı telefonu arayın. Bu örnek iki ayrı istek gerektirir: Biri Samsung ResellerService
nesnesinden, diğeri Google ResellerService
nesnesinden.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
UnclaimDevicesAsync
İsteği, isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız oldu) içeren Operation
nesnelerinin bir listesini döndürür. Bir işlemin durumunu kontrol etmek (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
çağrısı yapı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
Bir cihazın herhangi bir nedenle değiştirilmesi gerekiyorsa cihazı takas edebilirsiniz. Bu örnekte, bir Samsung cihazı başka bir Samsung cihazıyla değiştirdiğiniz kabul edilmektedir.
1. Adım: UnclaimDeviceRequest
nesnesi oluşturma
// 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 içeren (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız oldu) Operation
nesnelerinin listesini döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
numaralı telefonu arayın:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
3. Adım: ClaimDeviceRequest
nesnesi oluşturma
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 içeren (devam ediyor, tamamlandı, hatalarla tamamlandı veya başarısız oldu) Operation
nesnelerinin listesini döndürür. Bir işlemin durumunu kontrol etmek için (örneğin, yanıt IN_PROGRESS
döndürdüyse) getOperation
numaralı telefonu arayın:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Android (Samsung harici) bir cihaz değişimi
Bir cihazın herhangi bir nedenle değiştirilmesi gerekiyorsa cihazı takas edebilirsiniz. Bu örnekte, Android (Samsung harici) bir cihazı başka bir Android (Samsung harici) cihaz için değiştirdiğiniz varsayılmaktadır.
1. Adım: UnclaimDeviceRequest
nesnesi oluşturma
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: ClaimDeviceRequest
nesnesi oluşturma
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
içeren bir ClaimDeviceResponse
nesnesi döndürür. Aksi takdirde, hata kodu içeren yaygın bir istisna oluşturur.