To initialize the SDK, call the initFordefiSDK
method. Most developers should pass null
and use the default configuration, so:
async function initSdk() {
try {
await initFordefiSDK({
baseURL: 'https://api.fordefi.com'
});
console.log('SDK was initiated successfully!');
} catch (e) {
const error = e as FordefiSdkErrorResult;
console.log(
`there was an error. error code :${error.code}, error message: ${error.message}`
);
}
}
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ProcessLifecycleOwner
import com.fordefi.fordefi.Fordefi
import com.fordefi.fordefi.FordefiConfiguration
class MainActivity: ComponentActivity() {
private
var fordefi: Fordefi ? = null
override fun onCreate(savedInstanceState: Bundle ? ) {
super.onCreate(savedInstanceState)
fordefi = Fordefi.getInstance(applicationContext,
FordefiConfiguration("https://api.fordefi.com")
)
setupLifecycleObserver()
}
private fun setupLifecycleObserver() {
ProcessLifecycleOwner.get().lifecycle.addObserver(
object: DefaultLifecycleObserver {
override fun onStart(owner: LifecycleOwner) {
fordefi!!.notifyAppStateChanged(FordefiAppState.Foreground)
}
override fun onStop(owner: LifecycleOwner) {
fordefi!!.notifyAppStateChanged(FordefiAppState.Background)
}
})
}
import FordefiSdk
class ViewController: UIViewController {
private var fordefi: Fordefi?
override func viewDidAppear(_ animated: Bool) {
do {
self.fordefi = try Fordefi.getInstance(
configuration: FordefiConfiguration(
baseURL: "https://api.fordefi.com"
))
} catch let error {
print("Failed to initialize Fordefi. Error: \(error.localizedDescription)")
return
}
}
@objc func appWillEnterForeground() {
self.fordefi?.notifyAppStateChanged(appState: .foreground)
}
@objc func appDidEnterBackground() {
self.fordefi?.notifyAppStateChanged(appState: .background)
}
}
const fordefiApiBaseUrl = "https://api.fordefi.com";
const fordefi = fordefiWebSDK.Fordefi.getInstance({
baseURL: fordefiApiBaseUrl,
});
class SDKLogger {
log(logLevel, message) {
console.log(`[Fordefi SDK][${logLevel}] ${message}.`);
}
}
fordefi.setLogger(new MyLogger());
class ErrorHandler {
handleError(error: fordefiWebSDK.FordefiError) {
console.log(`Error on Fordefi SDK: ${error.description()} `);
switch (error.errorCode) {
case fordefiWebSDK.FordefiErrorCode.InvalidKeysetIDFormat:
// do something...
case fordefiWebSDK.FordefiErrorCode.ExpiredAuthToken:
// do something else...
}
}
}
fordefi.setErrorHandler(new ErrorHandler());
// user auth token issued by API user
const userId = await fordefi.login(userAuthToken);