Closed pengjm18 closed 3 years ago
Hi, we can't reproduce your issue on Android or iOS, but I suggest to try to load apiRTC SDK after device ready event:
www/index.html
Load apiRTC dynamically in the www/js/index.js
:
function onDeviceReady() {
setUIState('init');
let cordova = window.cordova;
if (device !== undefined && device.platform === 'iOS') {
cordova.plugins.iosrtc.registerGlobals();
//cordova.plugins.iosrtc.debug.enable('*', true);
}
if (device !== undefined && device.platform === 'Android') {
let permissions = cordova.plugins.permissions;
function checkVideoPermissionCallback(status) {
if (!status.hasPermission) {
let errorCallback = () => {
alert('Camera permission is not turned on');
};
permissions.requestPermission(
permissions.CAMERA,
(status) => {
if (!status.hasPermission) {
errorCallback();
}
},
errorCallback
);
}
}
function checkAudioPermissionCallback(status) {
if (!status.hasPermission) {
let errorCallback = () => {
alert('Audio permission is not turned on');
};
permissions.requestPermission(
permissions.RECORD_AUDIO,
(status) => {
if (!status.hasPermission) {
errorCallback();
}
},
errorCallback
);
}
}
permissions.hasPermission(permissions.CAMERA, checkVideoPermissionCallback, null);
permissions.hasPermission(permissions.RECORD_AUDIO, checkAudioPermissionCallback, null);
}
let script = document.createElement('script');
script.onload = () => {
apiRTC.setLogLevel(10);
ua = new apiRTC.UserAgent({
uri: 'apzkey:myDemoApiKey',
});
let registerInformation = {
cloudUrl: 'https://cloud.apizee.com',
};
ua.register(registerInformation)
.then((session) => {
console.log('User registered with session: ', session);
session
.on('contactListUpdate', (updatedContacts) => {
console.log('contactListUpdate', updatedContacts);
})
.on('incomingCall', (invitation) => {
invitation.accept().then((call) => {
currentCall = call;
setCallListeners();
setUIState('call');
});
});
connectedSession = session;
setUIState('ready');
})
.catch(function (error) {
console.error('User agent registration failed', error);
});
};
script.src = 'https://cloud.apizee.com/apiRTC/apiRTC-latest.min.js';
document.head.appendChild(script);
}
Hi Sir,
I think there is an issue with the sample application (it's stuck at 'initalizing...', I have encountered the following errors and have attached a log for your kind conveniences:
2020-09-05 01:46:11.872873+0800 ApiRTC[2694:559574] Apache Cordova native platform version 6.1.1 is starting. 2020-09-05 01:46:11.872958+0800 ApiRTC[2694:559574] Multi-tasking -> Device: YES, App: YES 2020-09-05 01:46:11.886750+0800 ApiRTC[2694:559574] Could not load the "LaunchStoryboard" image referenced from a nib in the bundle with identifier "com.apirtc.cordova" 2020-09-05 01:46:11.969593+0800 ApiRTC[2694:559574] WF: === Starting WebFilter logging for process ApiRTC 2020-09-05 01:46:11.969628+0800 ApiRTC[2694:559574] WF: _userSettingsForUser mobile: { filterBlacklist = ( ); filterWhitelist = ( ); restrictWeb = 1; useContentFilter = 0; useContentFilterOverrides = 0; whitelistEnabled = 0; } 2020-09-05 01:46:11.969658+0800 ApiRTC[2694:559574] WF: _WebFilterIsActive returning: NO 2020-09-05 01:46:11.978508+0800 ApiRTC[2694:559574] The preference key "AllowNewWindows" is not defined and will default to "FALSE" 2020-09-05 01:46:11.979678+0800 ApiRTC[2694:559574] The preference key "MediaPlaybackAllowsAirPlay" is not defined and will default to "TRUE" 2020-09-05 01:46:11.982299+0800 ApiRTC[2694:559574] WF: _userSettingsForUser mobile: { filterBlacklist = ( ); filterWhitelist = ( ); restrictWeb = 1; useContentFilter = 0; useContentFilterOverrides = 0; whitelistEnabled = 0; } 2020-09-05 01:46:11.982339+0800 ApiRTC[2694:559574] WF: _WebFilterIsActive returning: NO 2020-09-05 01:46:11.983311+0800 ApiRTC[2694:559574] The preference key "AllowBackForwardNavigationGestures" is not defined and will default to "FALSE" 2020-09-05 01:46:11.983356+0800 ApiRTC[2694:559574] The preference key "Allow3DTouchLinkPreview" is not defined and will default to "TRUE" 2020-09-05 01:46:11.983398+0800 ApiRTC[2694:559574] CDVWebViewEngine will reload WKWebView if required on resume 2020-09-05 01:46:11.983429+0800 ApiRTC[2694:559574] Using WKWebView 2020-09-05 01:46:11.983680+0800 ApiRTC[2694:559574] [CDVTimer][console] 0.044942ms 2020-09-05 01:46:11.983766+0800 ApiRTC[2694:559574] [CDVTimer][handleopenurl] 0.043988ms 2020-09-05 01:46:11.984776+0800 ApiRTC[2694:559574] [CDVTimer][intentandnavigationfilter] 0.849009ms 2020-09-05 01:46:11.984866+0800 ApiRTC[2694:559574] [CDVTimer][gesturehandler] 0.046015ms 2020-09-05 01:46:11.997661+0800 ApiRTC[2694:559574] [CDVTimer][file] 12.727976ms 2020-09-05 01:46:11.997968+0800 ApiRTC[2694:559574] iosrtcPlugin#pluginInitialize() 2020-09-05 01:46:11.999863+0800 ApiRTC[2694:559574] PluginGetUserMedia#init() 2020-09-05 01:46:12.000040+0800 ApiRTC[2694:559574] PluginRTCAudioController#setCategory() 2020-09-05 01:46:12.045182+0800 ApiRTC[2694:559574] [CDVTimer][iosrtcplugin] 47.470927ms 2020-09-05 01:46:12.045251+0800 ApiRTC[2694:559574] [CDVTimer][TotalPluginStartup] 61.663985ms 2020-09-05 01:46:12.316949+0800 ApiRTC[2694:559574] iosrtcPlugin#onReset() | cleanup 2020-09-05 01:46:12.438358+0800 ApiRTC[2694:559574] The preference key "AutoHideSplashScreen" is not defined and will default to "TRUE" 2020-09-05 01:46:12.509136+0800 ApiRTC[2694:559574] iosrtc registerGlobals() +0ms 2020-09-05 01:46:12.509270+0800 ApiRTC[2694:559574] iosrtc restoreCallbacksSupport() +1ms 2020-09-05 01:46:12.509328+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(UserAgent) Create UserAgent 2020-09-05 01:46:12.509384+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(ApiRTCManager) createWhiteBoard() 2020-09-05 01:46:12.509433+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(ApiCC_Methods) createWhiteBoard 2020-09-05 01:46:12.509492+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(ApiCCWhiteBoardClient) Loading apiCC.ApiCCWhiteBoardClient 2020-09-05 01:46:12.509546+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(ApiCCWhiteBoardClient) Setting Whiteboard disconnectionTimer to : 60000 2020-09-05 01:46:12.509624+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.505Z][DEBUG]apiRTC(ApiCCWhiteBoardClient) [Whiteboard] setCanvas() : 2020-09-05 01:46:12.509841+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCCWhiteBoardClient) [Whiteboard] setUserCursorColor() : invisible 2020-09-05 01:46:12.510011+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) activateScreenSharing 2020-09-05 01:46:12.510261+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) using apizee extension's Id 2020-09-05 01:46:12.510863+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) activateScreenSharing is only available for chrome Browser 2020-09-05 01:46:12.511791+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :mediaDeviceChanged 2020-09-05 01:46:12.511886+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :externalJsLoadingStatus 2020-09-05 01:46:12.511940+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :channelEvent 2020-09-05 01:46:12.512002+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :userMediaError 2020-09-05 01:46:12.513285+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(UserAgent) checkUACapabilities 2020-09-05 01:46:12.513596+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(UserAgent) WebRTC not compliant 2020-09-05 01:46:12.513665+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.506Z][DEBUG]apiRTC(UserAgent) qoS Stat not compliant 2020-09-05 01:46:12.513726+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.507Z][DEBUG]apiRTC(CloudApi) setCloudURL() 2020-09-05 01:46:12.513820+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.507Z][DEBUG]apiRTC(UserAgent) register() - Registration using prefix :apzkey: 2020-09-05 01:46:12.513918+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.507Z][DEBUG]apiRTC(CloudApi) getPreferredCCS to https://cloud.apizee.com 2020-09-05 01:46:12.513976+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.507Z][DEBUG]apiRTC(fetchRetry) fetchRetry 2020-09-05 01:46:12.514061+0800 ApiRTC[2694:559574] [2020-09-04T17:46:12.507Z][DEBUG]apiRTC(fetchRetry) wrappedFetch n: 100 2020-09-05 01:46:13.048107+0800 ApiRTC[2694:559574] CDVWebViewEngine shouldReloadWebView:: 2020-09-05 01:46:13.048624+0800 ApiRTC[2694:559574] CDVWebViewEngine shouldReloadWebView title: ApiRTC Cordova P2P Sample 2020-09-05 01:46:13.048726+0800 ApiRTC[2694:559574] CDVWebViewEngine shouldReloadWebView location: file:///private/var/containers/Bundle/Application/8436DB19-76EE-492F-94C4-3233CA57B3C3/ApiRTC.app/www/index.html 2020-09-05 01:46:13.048847+0800 ApiRTC[2694:559574] CDVWebViewEngine shouldReloadWebView reload: 0 2020-09-05 01:46:13.071668+0800 ApiRTC[2694:559574] iosrtc:videoElementsHandler refreshVideos() +0ms 2020-09-05 01:46:13.808786+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.804Z][DEBUG]apiRTC(Session) Create Session 2020-09-05 01:46:13.809154+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.806Z][DEBUG]apiRTC(Session) av apiRTCManager onEvent ... 2020-09-05 01:46:13.809396+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.807Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :channelEvent 2020-09-05 01:46:13.818966+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.818Z][DEBUG]apiRTC(ApiCC_Methods) Adding listener on type :channelEvent 2020-09-05 01:46:13.820896+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.820Z][DEBUG]apiRTC(Init) ccsServer is defined on init() 2020-09-05 01:46:13.821239+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.820Z][DEBUG]apiRTC(Init) bandwidthTestServer is defined : https://cloud.apizee.com 2020-09-05 01:46:13.821728+0800 ApiRTC[2694:559574] [2020-09-04T17:46:13.820Z][DEBUG]apiRTC(Init) userData : [object Object] 2020-09-05 01:46:13.822486+0800 ApiRTC[2694:559574] ERROR: [2020-09-04T17:46:13.821Z][ERROR]apiRTC(UserAgent) register() - ApiRTC Initialization error : ReferenceError: Can't find variable: apiRTC_sioLoader 2020-09-05 01:46:13.822750+0800 ApiRTC[2694:559574] ERROR: User agent registration failed [object Object]
Many thanks and looking forwards to hearing from you.