repositories {
...
maven {
url = 'https://artifacts.cloud4wi.com/release'
}
}
dependencies {
...
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.auth0.android:jwtdecode:2.0.0'
implementation 'com.cloud4wi:c4w-wifi-sdk:{lib-version}'
}
<resources>
...
<string name="com.cloud4wi.sdk.wifi.api_client_key">{client-key-value}</string>
<string name="com.cloud4wi.sdk.wifi.api_client_secret">{client-secret-value}</string>
</resources><application>
...
<provider
android:authorities="${applicationId}"
android:multiprocess="false"
android:exported="false"
android:name="com.cloud4wi.sdk.wifi.storage.C4WIMobileSDKContentProvider"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />Cloud4WiSDKWiFi mobileSDK = new Cloud4WiSDKWiFi(getApplicationContext());
try {
mobileSDK.setAPIAuthParams("{client-key-value}", "{client-secret-value}");
} catch (Exception e) {
Log.e(TAG, "Cannot set API credentials: ", e);
}
mobileSDK.updateCustomerInfo(result -> {}, e -> {});
/*
* To register new customer we need to obtain required polices from API Server
*/
mobileSDK.getListOfPolicies(
policies -> {
Log.i(TAG, "Got policies. Num = " + policies.size());
logInfo("Got " + policies.size() + " policies: ");
for (String p : policies) {
logOutput(" " + p);
}
Customer customer = new Customer();
customer.setFirstName("Test");
customer.setLastName("Customer");
customer.setEmail(customer.getUsername());
/*
* In order to register new customer all polices requested by API Server should be accepted
*/
for (String policy : policies) {
customer.addPolicy(policy, true);
}
/*
* Call Server API to create new customer
*/
mobileSDK.createCustomer(customer, null,
customerCreateResponse -> {
Log.i(TAG, "Customer successfully created.");
logInfo("Customer successfully created.");
/*
* Assure new customer has been successfully created via Server API by checking newly created customer's credentials
* This step is OPTIONAL
*/
mobileSDK.getCustomerInfo(customerCreateResponse.getUsername(), customerCreateResponse.getPassword(),
customerInfo -> {
Log.i(TAG, "Credentials approved.");
logInfo("Credentials approved.");
/*
* Here we are calling Android API to create WPA2-Enterprise Wi-Fi Profile for recently created new customer
*/
mobileSDK.createWPA2EnterpriseProfile(customerCreateResponse.getUsername(), customerCreateResponse.getPassword(),
wpa2EnterpriseProfile -> {
Log.i(TAG, "Wi-Fi profile successfully created.");
logInfo("Wi-Fi profile successfully created.");
},
e -> {
Log.e(TAG, "Failed to create Wi-Fi profile: ", e);
logError("Failed to create Wi-Fi profile: " + e.getMessage());
});
},
e -> {
Log.e(TAG, "Cannot approve credentials: ", e);
logError("Cannot approve credentials - " + e.getMessage());
}
);
},
e -> {
Log.e(TAG, "Cannot create customer: ", e);
logError("Cannot create customer - " + e.getMessage());
}
);
},
e -> {
Log.e(TAG, "Cannot get policies: " + e.getMessage());
logError("Cannot get policies - " + e.getMessage());
}
);
public void initC4w();