Hi, I am trying to integrate Oculus with EOS and login using EAS. I have this code for login:
IOnlineSubsystem* OnlineSub = Online::GetSubsystem(GetWorld());
if (OnlineSub)
{
APlayerController* const PlayerController = GetFirstLocalPlayerController();
IOnlineIdentityPtr Identity = OnlineSub->GetIdentityInterface();
if (PlayerController && Identity.IsValid())
{
FOnlineAccountCredentials Credentials;
Credentials.Id = FString();
Credentials.Token = FString();
Credentials.Type = FString("accountportal");
ULocalPlayer* LP = Cast<ULocalPlayer>(PlayerController->GetLocalPlayer());
if (LP != NULL)
{
int ControllerId = LP->GetControllerId();
if (Identity->GetLoginStatus(ControllerId) == ELoginStatus::LoggedIn)
{
UE_LOG(LogTemp, Error, TEXT("Login: Already logged in"));
return;
}
}
Identity->OnLoginCompleteDelegates->AddUObject(this, &USWGameInstance::OnLoginCompleteDelegate);
Identity->Login(0, Credentials);
}
}
But when I try it on the device I get message:
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogTemp: Error: Login: Start
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogTemp: Error: Login: Subsystem Found
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogTemp: Error: Login: Identity Found
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogTemp: Error: Login: Player Found
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogOnline: Warning: OSS: Unable to Login() user (0) due to an empty platform auth token
15:16:10.371 19724 19760 D UE4 : [2022.11.18-14.16.10:371][ 0]LogTemp: Error: Failed to login: Missing platform auth token
Is it something wrong with configuration in developer portal? Or should I pass some other values during login?
This is my AndroidEngine.ini
[EpicOnlineServices]
DelegatedSubsystems=Oculus
AuthenticationGraph=Oculus
[/Script/OnlineSubsystemOculus.OculusNetDriver]
NetConnectionClassName="OnlineSubsystemOculus.OculusNetConnection"
[/Script/OnlineSubsystemOculus.OculusNetDriver]
ServerTravelPause=4.0
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
NativePlatformService=Oculus
bHasVoiceEnable=true
And my DefaultEngine.ini
[OnlineSubsystemEOS]
bEnabled=true
[OnlineSubsystemEOSPlus]
bEnabled=true
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=EOSPlus
[OnlineSubsystemOculus]
bEnabled=true
OculusAppId=?????
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
bHasVoiceEnable=true
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[/Script/OnlineSubsystemEOS.NetDriverEOS]
bIsUsingP2PSockets=true
[/Script/OnlineSubsystemEOS.EOSSettings]
CacheDir=/sdcard
DefaultArtifactName=SnowWarsVR
TickBudgetInMilliseconds=0
bEnableOverlay=True
bEnableSocialOverlay=True
bShouldEnforceBeingLaunchedByEGS=False
TitleStorageReadChunkLength=0
+Artifacts=(ArtifactName="SnowWarsVR",ClientId="?????",ClientSecret="?????",ProductId="?????",SandboxId="?????",DeploymentId="?????",EncryptionKey="?????")
bUseEAS=True
bUseEOSConnect=False
bMirrorStatsToEOS=False
bMirrorAchievementsToEOS=False
bUseEOSSessions=False
bMirrorPresenceToEAS=False