unity – How can I load and instantiate any game object from assetbundle?

I have some asset bundles that we automatically create for Unity 5.6. Each of these asset books contains a game object.

Like: https: //www.file-up.org/891dtdi54n0l => c6f97739ec43264ef3bfae7b1dc55e88.unity3d

So we've already used assetBundle.mainAsset to access this one game object.
However, until 2018.3, the assetBundle.mainAsset is deprecated.

I have read the unit document and they say use loadasset by name or type!
But when I create an asset package, I do not know the name of the game object to access it.

I'm trying to load it with: myLoadedAssetBundle.GetAllAssetNames () (0)).

    void LoadAssetBundle(string bundleUrl)
{
    myLoadedAssetBundle = AssetBundle.LoadFromFile(bundleUrl);
    Debug.Log(myLoadedAssetBundle == null ? "Faild To Load" : "Succesfully Loaded!");

    Debug.Log(myLoadedAssetBundle.LoadAsset(myLoadedAssetBundle.GetAllAssetNames()(0)));

    GameObject prefab = myLoadedAssetBundle.LoadAsset(myLoadedAssetBundle.GetAllAssetNames()(0));

    Instantiate(prefab);

    myLoadedAssetBundle.Unload(true);
}

my question is :

1 – How can I load the main asset with the new Assetbundle-Unity system if my asset bundles contain all sorts of game objects, eg. B. sprite, obj, sound, video, etc.?

Likewise

2- I do not know how to instantiate my loaded asset.